我正在使用Qualtrics库来触发调查。触发调查时会弹出一个对话框,工作正常。该对话框有一个用于选择语言的微调器。但是,在Huawei P8
上,当我单击微调器以选择其他语言时,应用程序将崩溃并显示以下堆栈跟踪:
07-14 16:11:14.466 13387-13387 / W / System.err:android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌null不适用于应用程序 07-14 16:11:14.466 13387-13387 / W / System.err:在android.view.ViewRootImpl.setView(ViewRootImpl.java:606) 07-14 16:11:14.466 13387-13387 / W / System.err:在android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:282) 07-14 16:11:14.466 13387-13387 / W / System.err:at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69) 07-14 16:11:14.466 13387-13387 / W / System.err:在android.app.Dialog.show(Dialog.java:325) 07-14 16:11:14.466 13387-13387 / W / System.err:at com.android.org.chromium.content.browser.input.SelectPopupDialog.show(SelectPopupDialog.java:126) 07-14 16:11:14.466 13387-13387 / W / System.err:at com.android.org.chromium.content.browser.ContentViewCore.showSelectPopup(ContentViewCore.java:2818) 07-14 16:11:14.466 13387-13387 / W / System.err:at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method) 07-14 16:11:14.466 13387-13387 / W / System.err:at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:28) 07-14 16:11:14.466 13387-13387 / W / System.err:在android.os.Handler.dispatchMessage(Handler.java:102) 07-14 16:11:14.466 13387-13387 / W / System.err:在android.os.Looper.loop(Looper.java:135) 07-14 16:11:14.466 13387-13387 / W / System.err:在android.app.ActivityThread.main(ActivityThread.java:5538) 07-14 16:11:14.466 13387-13387 / W / System.err:at java.lang.reflect.Method.invoke(Native Method) 07-14 16:11:14.466 13387-13387 / W / System.err:at java.lang.reflect.Method.invoke(Method.java:372) 07-14 16:11:14.466 13387-13387 / W / System.err:at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:958) 07-14 16:11:14.466 13387-13387 / W / System.err:at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:753)
这就是我调用对话框的方式
public void startSurvey() {
//Unload previous intercepts
qualtricsIntercept.unload();
//Trigger Qualtrics.
qualtricsIntercept.put(Constants.QUALTRICS_INTERCEPT_KEY, Constants.QUALTRICS_INTERCEPT_VALUE, false);
//Start the Qualtrics Dialog
qualtricsIntercept.loadWithViewGroup((ViewGroup) mainActivity.findViewById(android.R.id.content));
}