我想知道你是否有人知道或知道这个问题的解决方案。基本上我在这里有这个功能:
function onDeviceReady() {
document.addEventListener("backbutton", function() {
if (getObj("btnBack") != null){
pui.click("btnBack");
}
else{
navigator.device.exitApp();
}
}, false);
}
其中pui.click()只是我最终定义的东西。因此,只要按下我的Android设备上的后退按钮,就会调用此函数;在2.9以及下面的所有版本如果这到达应用程序中btnBack obj不存在的点,它调用navigator.device.exitApp()(或navigator.app.exitApp()我在两者之间切换,看看是否会解决我的问题)应用程序关闭就好了。现在有了3.0.0,我在Eclipse中遇到了以下致命异常:
08-16 15:23:27.015:E / AndroidRuntime(22715):android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌android.os.BinderProxy@422635a8无效;你的活动在运行吗?
有谁知道这里发生了什么?我从Android市场上使用之前的版本抓取了我的应用程序,它可以正常使用后退按钮。
编辑:
几个月后还有这个问题。我的活动没有变化(这里导入的另一个包我没有包含但是这是我活动的来源:
import android.os.Bundle;
import org.apache.cordova.*;
public class PUIClient extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.init();
// Set by <content src="index.html" /> in config.xml
super.loadUrl(Config.getStartUrl());
//super.loadUrl("file:///android_asset/www/index.html")
}
}
编辑:
这是logcat截图;像这样的loosk是由内部的onMessage调用引起的。在应用程序关闭时,内部似乎正在尝试发送该消息。
答案 0 :(得分:1)
如果没有完整的代码,很难说出问题所在:(
检查您是否在getObj("btnBack")
内发出了一些提醒或来电。
你有没有改变你的活动?
答案 1 :(得分:0)
查看来自Dialogs插件的Notifications.java文件后,我发现添加以下isFinishing()检查已解决了我的问题。我不确定当我退出应用程序时导致通知的原因是什么,但是我的屏幕截图中突出显示的一个简单检查否定了最后一个警报,我的应用程序顺利关闭。从版本2.9开始,我有几个月的问题;希望这可以帮助一个类似绑定的人。