两种方案"/>
android kill 监听,监听App可能被强制干掉的两种方案
前言
很多时候我们想要在app退出的时候做一些特殊的处理,如果用户的习惯良好,正常使用返回键退出app的话,我们可以简单的在MainActivity的onDestroy()方法中执行相应的操作就好了。但是,这也只是一种理想情况,由于android系统的特殊性,有些用户在准备关掉app的时候不是正常的操作,而且直接点开任务管理列表,从列表中将app关掉。这种关掉app的方式,google的API中没有能够监听app被强制杀死的方法,没有监听,没有回调。
方案一:监听最近列表键
官方API中没有给出最直观的解决方案,那只有我们自己去想办法了。直接的回调,监听没有路,那我们就去分析用户的行为。用户在强制杀死app前进行的一个操作肯定是唤起最近任务列表,然后才能找到app后干掉app。那无论国内还是国外的定制Android系统,都会有一种方式去触发唤起最近任务列表,或是虚拟按键,或是上滑手势(魅族Flyme系统的手势监听不到),或是实体键。无论是哪种方式,只要触发,系统就会发一个广播出去,那我们要做的就是去监听这个广播。
广播的intent就是Intent.ACTION_CLOSE_SYSTEM_DIALOGS:
private RecentlyReceiver mReceiver;
registerReceiver(mReceiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
RecentlyReceiver 就比较简单了:
public class RecentlyReceiver extends BroadcastReceiver {
更多推荐
android kill 监听,监听App可能被强制干掉的两种方案
发布评论