一、Android多功能键功能概述:
在每个APP打开后会创建新的进程并运行,同时在SystemUI中存在taskList,将打开的应用存储在tasklist中,在打开多功能键时,便会展示出来。
要实现一键清理历史任务功能:
- 一方面清除tasklist中的数据,
- 另一方面依据packagesname关闭对应的进程两个功能。
public void killBackgroundProcesses(Context mContext){
ActivityManager mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RecentTaskInfo> mTaskInfoList = mActivityManager.getRecentTasks(100, 0);
try {
Method method = Class.forName("android.app.ActivityManager").getMethod("forceStopPackage", String.class);
for (ActivityManager.RecentTaskInfo mTaskInfo : mTaskInfoList) {
method.invoke(mActivityManager, mTaskInfo.baseIntent.getComponent().getPackageName());
ActivityManager.getService().removeTask(mTaskInfo.persistentId);
}
} catch (Exception e){
e.printStackTrace();
}
}
二、相关的实现接口
2.1killBackgroundProcess(packagename name)函数
该函数为Activitymanager类下的函数,其作用为依据packagename结束传入该函数的进程;
一般使用流程如下:
1.在androidmainfest.xml文件中添加如下权限:
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
2.获取正在运行的进程列表
这个方法返回一个runningAppProcessinfo的列表,每个runningAppProcessinfo对象代表一个正在运行的进程。
// 获取所有后台进程
List<ActivityManager.RunningAppProcessInfo> processes

最低0.47元/天 解锁文章
5890

被折叠的 条评论
为什么被折叠?



