如何在Android插件中检测何时从最近的菜单中删除Cordova应用程序?

时间:2015-02-19 06:55:35

标签: android cordova phonegap-plugins cordova-plugins

这似乎是一个奇怪的要求,所以我将描述我想要做的事情,以及为什么我认为我需要知道什么时候删除任务。

基本上,我正在尝试在后台记录位置。我找到了一个关于如何使用BroadcastReceiverhere执行此操作的粗略示例,并且我设法实现了它。我可以通过JavaScript以编程方式打开和关闭它。

然而,我在关闭时无法管理。我想在用户从最近的菜单中滑动主应用程序时将其关闭,但是当应用程序因内存不足而被销毁时则不会关闭。

我可以在应用程序不再运行时在BroadcastReceiver检测中添加一个检查,但我无法检测它是如何关闭的。

有没有办法检测应用程序何时以这种方式关闭?

我发现onTaskRemoved()但我不确定如何在这种情况下使用它,或者是否会因应用程序因内存不足而被销毁而被调用。

1 个答案:

答案 0 :(得分:1)

可以使用服务来完成。

只需使用activity.startService(<Intent>)启动服务,即可确保在从最近菜单移除活动时调用服务onTaskRemoved()

然后,服务可以调用方法来停止后台更新。就我而言,那是LocationServices.FusedLocationApi.removeLocationUpdates(<GoogleApiClient>, <Intent>);

BroadcastReceiver是服务本地的,还是作为自己的类实现,似乎并不重要。

可以找到工作实施here