:earth_americas: A modern cross-platform JavaScript bridge, through which you can invoke each other's functions synchronously or asynchronously between JavaScript and native.
APP theme为AppCompatActivity时 onJsAlert这个方法别调用时会导致崩溃,提示需要Theme.AppCompat theme,日志如下:
CrashHandler: In thread: Thread[main,5,main]
UncaughtException detected: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:354)
at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:323)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284)
at android.support.v7.app.AppCompatDialog.setContentView(AppCompatDialog.java:83)
at android.support.v7.app.AlertController.installContent(AlertController.java:226)
at android.support.v7.app.AlertDialog.onCreate(AlertDialog.java:260)
at android.app.Dialog.dispatchOnCreate(Dialog.java:404)
at android.app.Dialog.show(Dialog.java:301)
at wendu.dsbridge.DWebView$6.onJsAlert(DWebView.java:695)
at com.tencent.smtt.sdk.q.onJsAlert(Unknown Source)
at com.tencent.tbs.core.webkit.tencent.TencentWebChromeClient.onJsAlert(Unknown Source)
at android.webview.chromium.WebViewContentsClientAdapter.handleJsAlert(Unknown Source)
at org.chromium.android_webview.AwContentsClientBridge.handleJsAlert(Unknown Source)
at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
at org.chromium.base.SystemMessageHandler.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5940)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:929)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:790)
通关分析发现和这个无关,主题本来就是Theme.AppCompat,应该是context问题
dialog的弹出需要activity
在js需要弹出alert时100%重现
APP theme为AppCompatActivity时 onJsAlert这个方法别调用时会导致崩溃,提示需要Theme.AppCompat theme,日志如下: CrashHandler: In thread: Thread[main,5,main] UncaughtException detected: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:354) at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:323) at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284) at android.support.v7.app.AppCompatDialog.setContentView(AppCompatDialog.java:83) at android.support.v7.app.AlertController.installContent(AlertController.java:226) at android.support.v7.app.AlertDialog.onCreate(AlertDialog.java:260) at android.app.Dialog.dispatchOnCreate(Dialog.java:404) at android.app.Dialog.show(Dialog.java:301) at wendu.dsbridge.DWebView$6.onJsAlert(DWebView.java:695) at com.tencent.smtt.sdk.q.onJsAlert(Unknown Source) at com.tencent.tbs.core.webkit.tencent.TencentWebChromeClient.onJsAlert(Unknown Source) at android.webview.chromium.WebViewContentsClientAdapter.handleJsAlert(Unknown Source) at org.chromium.android_webview.AwContentsClientBridge.handleJsAlert(Unknown Source) at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method) at org.chromium.base.SystemMessageHandler.handleMessage(Unknown Source) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5940) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:929) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:790) 通关分析发现和这个无关,主题本来就是Theme.AppCompat,应该是context问题 dialog的弹出需要activity 在js需要弹出alert时100%重现