Android根据包名停止其他应用程序

Android根据包名停止其他应用程序

1.使用killBackgroundProcesses()方法
首先再AndroidManifest.xml文件中添加权限

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>

然后直接调用stopApp(mContext,packageName)方法

 public  void stopAppByKill(Context context ,String packageName) {
        ActivityManager mActivityManager = (ActivityManager)
        context.getSystemService(Context.ACTIVITY_SERVICE);
        mActivityManager.killBackgroundProcesses(packageName);
        

2.forceStopPackage()方法
该方法属于隐藏方法,需要使用反射机制调用,同样需要在AndroidManifest.xml文件中添加权限并且要先在application中加入android:sharedUserId="android.uid.system"系统级权限才可以调用隐藏方法

<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/>

然后使用反射机制调用方法

 public  void stopAppByForce(Context context ,String packageName) {
        ActivityManager mActivityManager = (ActivityManager) 
        context.getSystemService(Context.ACTIVITY_SERVICE);
            Method method = null;
                try {
                    method = Class.forName("android.app.ActivityManager").getMethod("forceStopPackage", String.class);
                    method.invoke(mActivityManager, packageName);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
发布了1 篇原创文章 · 获赞 1 · 访问量 47

猜你喜欢

转载自blog.csdn.net/liuxiangsheng911/article/details/104948963