在Android手机间隙应用程序中单击后退按钮时强制关闭

force close when clicking the back button in android phonegap app

本文关键字:按钮 手机 Android 间隙 应用程序 单击      更新时间:2023-09-26

>我使用html,css,javascript和创建了android phonegap应用程序 jquery.当我点击后退按钮时,我的应用程序被强制关闭。我的错误 日志如下:

ERROR/AndroidRuntime(23383): FATAL EXCEPTION: main
    ERROR/AndroidRuntime(23383): android.view.WindowManager
    $BadTokenException: Unable to add window -- token
    android.os.BinderProxy@48c59828 is not valid; is your activity
    running?
    at android.view.ViewRoot.setView(ViewRoot.java:505)
    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:207)
    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:121)
    at android.view.Window$LocalWindowManager.addView(Window.java:424)
    at android.app.Dialog.show(Dialog.java:259)
    at android.app.AlertDialog$Builder.show(AlertDialog.java:802)
    at com.phonegap.DroidGap$GapClient.onJsAlert(DroidGap.java:983)
    at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:531)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:4632)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:521)
    at com.android.internal.os.ZygoteInit
    $MethodAndArgsCaller.run(ZygoteInit.java:871)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
    at dalvik.system.NativeStart.main(Native Method)
    ERROR/(1364): Dumpstate > /data/log/dumpstate_app_error

请引导我错在哪里。提前谢谢。

在显示该对话框之前检查活动是否完成。

if (!isFinishing()) {
    showDialog(MY_DIALOG);
}

当后台线程尝试在 UI 线程退出时显示对话框时,会发生崩溃。

android.os.BinderProxy@48c59828 is not valid; is your activity
running?

此错误主要发生在您尝试在某些ProgressDialog运行时close/finish活动时。因此,您正在尝试在关闭进度对话框之前finish()活动。您应该首先尝试关闭进度对话框,然后完成活动。

$BadTokenException:

由于上下文问题导致的此类错误。在代码中传递适当的上下文,