![](/img/trans.png)
[英]How to detect app is removed from recents (Overview screen) on Android Oreo?
[英]How can I detect when a Cordova app has been removed from the recents menu, from within an Android plugin?
这似乎是一个奇怪的要求,所以我将仅描述我要执行的操作以及为什么我认为需要知道何时删除任务。
本质上,我试图在后台记录位置。 我发现如何使用做一个粗略的例子BroadcastReceiver
, 在这里 ,我想办法实现它。 我可以通过JavaScript以编程方式打开和关闭它。
但是,我在关闭电源时难以管理。 我想在用户从“最近使用”菜单中滑动主应用程序时将其关闭,但是当该应用程序由于内存不足而被销毁时不希望将其关闭。
我可以在BroadcastReceiver
添加检查以检测应用程序何时不再运行,但无法检测到它是如何关闭的。
有什么方法可以检测应用程序何时以这种方式关闭吗?
我找到了onTaskRemoved(),但是在这种情况下,或者由于内存不足而导致应用程序销毁后,是否会调用它,我不确定如何使用它。
可以通过使用服务来完成。
只需使用activity.startService(<Intent>)
启动服务,即可确保在从“最近记录”菜单中删除活动时,将调用服务的onTaskRemoved()
。
然后,该服务可以调用一种方法来停止后台更新。 就我而言,这就是LocationServices.FusedLocationApi.removeLocationUpdates(<GoogleApiClient>, <Intent>);
。
BroadcastReceiver
是服务本地的还是实现为自己的类似乎并不重要。
在这里可以找到有效的实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.