編輯:關於Android編程
本文實例講述了Android通過反射實現強制停止應用程序的方法。分享給大家供大家參考,具體如下:
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 Service組件使用技巧總結》、《Android基本組件用法總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
一、第一種方法: (1)Fragment的第一種使用方法是使用fragment加載單獨的布局文件:(也就是xml的方式實現) 結構如下: activity_main.
有時候用Eclipse想按住ctrl鍵查看源碼怎麼辦? 下面具體步驟讓你輕松看源碼: 點擊android.jar下面的source: 這裡可以添加zip和文件夾,zi
需求是在我按下按鈕時,該變按鈕顏色,使用戶感覺到自己按了按鈕,當松開的時候,變回原來的顏色。正常時:按下時:有人說,直接監聽按鈕的按下事件不得了嘛,其實這樣確實能實現同樣
前面說了文件操作和主界面,接下來說說文件的過濾和排序,我們都知道在我們的設備裡,不管是PC還是手機,總有一些我們 看不到的文件夾,那就是所謂的隱藏文件,大部分的隱藏文件,