wendux / DSBridge-Android

:earth_americas: A modern cross-platform JavaScript bridge, through which you can invoke each other's functions synchronously or asynchronously between JavaScript and native.
3.77k stars 616 forks source link

IllegalStateException #90

Closed ericwangjp closed 5 years ago

ericwangjp commented 5 years ago

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问题 image dialog的弹出需要activity 在js需要弹出alert时100%重现

wendux commented 5 years ago

71