Android 一键清除后台进程实现详解

一、Android多功能键功能概述:

在每个APP打开后会创建新的进程并运行,同时在SystemUI中存在taskList,将打开的应用存储在tasklist中,在打开多功能键时,便会展示出来。
要实现一键清理历史任务功能:

  1. 一方面清除tasklist中的数据,
  2. 另一方面依据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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值