多任务可以不kill app进程,
1、需要app应用本身加一个meta-data标签并将其value设为false,这样多任务退出时会给app发广播(不再kill其进程),app收到广播后自行进行退出操作,方法如下所示。
-
- android:name="com.gee.recent.prop.force_stop"
- android:value="false" />
2、若应用的com.xxx.recent.prop.force_stop属性为false,则在应用退出前会接收到如下广播
intent.setAction("xxx.recent.action.CUSTOM_RECENT_REMOVE_TASK")
3、收到广播,清理activity
- private BroadcastReceiver exitBroadcastRedceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intentintent){
- LogUtil.d( msg: "exitBroadcastReceiver ");
- ApplicationManager.getInstance().clear();
- }
- }
4、监听多任务清除app进程广播
- IntentFilter intent = new IntentFilter();
- intent.addAction("xxx.recent.action.CUSTOM_RECENT_REMOVE_TASK");
- registerReceiver(exitBroadcastReceiver, intent);