【问题标题】:force close when clicking the back button in android phonegap app在android phonegap应用程序中单击后退按钮时强制关闭
【发布时间】:2012-05-21 06:07:25
【问题描述】:

我使用 html、css、javascript 和 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

请在我错的地方指导我。在此先感谢。

【问题讨论】:

  • 无法为您提供此信息,请您分享更多您强制关闭页面的代码。 phonegap/cordova 提供了一个事件,该事件在按下后退按钮时触发。你检查了吗?
  • 你的后台代码是什么?

标签: javascript android cordova back-button


【解决方案1】:

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

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

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

【讨论】:

【解决方案2】:
android.os.BinderProxy@48c59828 is not valid; is your activity
running?

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

【讨论】:

    【解决方案3】:

    $BadTokenException:

    这种类型的错误是因为上下文问题。 在代码中传递适当的上下文,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      相关资源
      最近更新 更多