如何去杀死系统应用:直接看关键代码
package com.android.zf.yuyuin;
import java.util.List;
import android.app.ActivityManager;
import android.content.ComponentName;
public class SuUtil {
public static void getRunningServiceInfo(Context context ,String packageName) {
ActivityManager mActivityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
// 通过调用ActivityManager的getRunningAppServicees()方法获得系统里所有正在运行的进程
List<ActivityManager.RunningServiceInfo> runServiceList = mActivityManager
.getRunningServices(50);
System.out.println(runServiceList.size());
// ServiceInfo Model类 用来保存所有进程信息
for (ActivityManager.RunningServiceInfo runServiceInfo : runServiceList) {
ComponentName serviceCMP = runServiceInfo.service;
String serviceName = serviceCMP.getShortClassName(); // service 的类名
String pkgName = serviceCMP.getPackageName(); // 包名
if (pkgName.equals(packageName)) {
mActivityManager.forceStopPackage(packageName);
//mActivityManager.killBackgroundProcesses(packageName);
}
}
}
}
在需要调用的地方直接用上下文的环境和包名调用即可,例如:SuUtil.getRunningServiceInfo(mContext,"com.sxprd.radarspeed");
一定不要忘记加上权限,否则会没有效果。
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/>