最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android通過反射實現(xiàn)強制停止應(yīng)用程序的方法

 更新時間:2016年02月18日 11:19:56   作者:lg878398509  
這篇文章主要介紹了Android通過反射實現(xiàn)強制停止應(yīng)用程序的方法,涉及Android的反射機制與進(jìn)程操作的相關(guān)技巧,需要的朋友可以參考下

本文實例講述了Android通過反射實現(xiàn)強制停止應(yīng)用程序的方法。分享給大家供大家參考,具體如下:

private ActivityManager manager;
private List<RunningAppProcessInfo> runningProcesses;
private String packName;
private PackageManager pManager;
@Override
public void onReceive(Context context, Intent intent) {
    pManager = context.getPackageManager();
    manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    killOthers(context);
}
/**
* 殺死其他正在運行的程序
*
* @param context
*/
private void killOthers(Context context) {
    runningProcesses = manager.getRunningAppProcesses();
    for (RunningAppProcessInfo runningProcess : runningProcesses) {
      try {
        packName = runningProcess.processName;
        ApplicationInfo applicationInfo = pManager.getPackageInfo(packName, 0).applicationInfo;
        if (!"com.asms".equals(packName)&&filterApp(applicationInfo)) {
          forceStopPackage(packName,context);
          System.out.println(packName+"JJJJJJ");
        }
      }catch(Exception e){
        e.printStackTrace();
      }
    }
}
/**
*強制停止應(yīng)用程序
* @param pkgName
*/
private void forceStopPackage(String pkgName,Context context) throws Exception{
    ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    Method method = Class.forName("android.app.ActivityManager").getMethod("forceStopPackage", String.class);
    method.invoke(am, pkgName);
}
/**
* 判斷某個應(yīng)用程序是 不是三方的應(yīng)用程序
* @param info
* @return
*/
public boolean filterApp(ApplicationInfo info) {
    if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
      return true;
    } else if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
      return true;
    }
    return false;
}

說明:如果是在Activity中將onReceiver方法換成onCreate方法即可。

2.需要在AndroidManifest.xml 把package的userid設(shè)置為system

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.asms"
android:versionCode="1"
android:versionName="1.0" android:sharedUserId="android.uid.system">

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進(jìn)階教程》、《Android Service組件使用技巧總結(jié)》、《Android基本組件用法總結(jié)》及《Android控件用法總結(jié)

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

最新評論

花莲县| 南城县| 泌阳县| 桓仁| 沁水县| 禄丰县| 大安市| 分宜县| 庆云县| 南涧| 榆社县| 苗栗县| 富阳市| 南岸区| 商南县| 周至县| 榆中县| 崇明县| 盖州市| 铅山县| 平阴县| 贡觉县| 凤冈县| 上思县| 乳山市| 海阳市| 北宁市| 应用必备| 东方市| 锡林浩特市| 临澧县| 宁城县| 赫章县| 咸宁市| 应用必备| 武义县| 锡林浩特市| 阜新市| 海盐县| 香格里拉县| 德格县|