android中通过反射实现强制停止应用程序
2013-12-12 23:04
344 查看
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(); } } } /** *强制停止应用程序 * @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); } /** * 判断某个应用程序是 不是三方的应用程序 * @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设置为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">
参看
相关文章推荐
- Android通过反射实现强制停止应用程序的方法
- Android通过反射方式强制退出应用程序
- Android应用程序通过与服务器对比实现自动更新
- Android中通过反射实现圆角ImageView代码实例
- Android通过广播实现强制下线功能
- 通过Android的反射机制实现系统属性的设置和获取
- android设置--》应用程序详细信息--》强制停止
- Android编程实现通过反射获取资源Id的方法
- Android中如何通过强制设备管理策略创建一个安全敏感的应用程序
- Android Webview 通过反射实现夜间模式
- Android 通过消息栏实现应用程序前后台切换效果Notification
- Android-->检测内置/外置SD卡存储卡,枚举所有挂载点(通过反射实现),监听SD卡广播
- Android通过反射机制实现后台设置蓝牙可见性
- Android-通过自定义View组件实现跟随手指移动的ImageView组件
- Android中通过拨号调起应用的实现方式及特殊情况处理
- 通过浏览器直接打开Android应用程序
- Android通过实现GridView的横向滚动实现仿京东秒杀效果
- java通过反射实现HttpServlet
- 通过主机标头实现多个SharePoint Web应用程序共用一个端口