Cordova android app停止活动

时间:2015-09-18 14:12:46

标签: javascript android visual-studio cordova

我正在使用Visual Studio开发Cordova应用程序。在Android上,我想检测用户关闭应用的时间(长按设备的菜单按钮,然后滑动)。我无法使用Cordova标准事件(onPause / onResume)执行此操作。

当我点击设备的主页按钮时,

onPause事件会触发。我尝试了document.body.unloadwindow.unload两个事件。它们在Windows Phone上运行良好,但无法让它们在Android上运行。

我还尝试使用Cordova插件(https://github.com/agamemnus/cordova-plugin-ondestroy)检测事件,但似乎已经过时了。在JavaScript控制台中,它指出" class not found"。

有任何帮助吗?感谢

2 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,但是这个问题在今天仍然存在,因此我编写了一个插件,主要可以解决此问题。它监听Android上的onWindowFocusChanged本机事件,当该活动失去或获得焦点时将触发该事件。这意味着按下菜单按钮时会触发。它还具有用于iOS上失去焦点/获得焦点的事件,其中包括打开iOS应用切换器。

https://github.com/distinctdan/cordova-plugin-extra-events

但是,在Android上,我发现用户的速度足够快,他们仍然可以打开应用切换器并在事件有机会运行之前将其杀死。

答案 1 :(得分:-1)

我试图回答你问题的一部分。在我的混合移动应用程序开发中,我也遇到了与调用卸载事件相关的类似问题。这就是我在iOS和Android中使卸载事件工作的方式,

<强>的iOS

$(window).unload(function() { ... }

<强>的Android

$(window).bind('beforeunload', function() { ... }