Android通過反射實現(xiàn)強制停止應(yīng)用程序的方法
本文實例講述了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ā)入門與進階教程》、《Android Service組件使用技巧總結(jié)》、《Android基本組件用法總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Android之軟鍵盤自動彈出和關(guān)閉【代碼分享】
本文主要介紹了Android中軟鍵盤自動彈出和關(guān)閉的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧2017-04-04
Android 6.0動態(tài)權(quán)限及跳轉(zhuǎn)GPS設(shè)置界面的方法
今天小編就為大家分享一篇Android 6.0動態(tài)權(quán)限及跳轉(zhuǎn)GPS設(shè)置界面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
android 仿微信demo——登錄功能實現(xiàn)(服務(wù)端)
這系列文章主要介紹了微信小程序-閱讀小程序?qū)嵗?,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能給你們提供幫助2021-06-06
Android開發(fā)之無痕過渡下拉刷新控件的實現(xiàn)思路詳解
下拉刷新效果功能在程序開發(fā)中經(jīng)常會見到,今天小編抽時間給大家分享Android開發(fā)之無痕過渡下拉刷新控件的實現(xiàn)思路詳解,需要的朋友參考下吧2016-11-11
淺談Android手機聯(lián)系人開發(fā)之增刪查改功能
這篇文章主要介紹了Android手機聯(lián)系人開發(fā)之增刪查改功能,需要的朋友可以參考下2017-05-05
詳解 Android中Libgdx使用ShapeRenderer自定義Actor解決無法接收到Touch事件的問題
這篇文章主要介紹了詳解 Android中Libgdx使用ShapeRenderer自定義Actor解決無法接收到Touch事件的問題的相關(guān)資料,希望通過本文能幫助到大家解決這樣的問題,需要的朋友可以參考下2017-09-09
Android簡單創(chuàng)建一個Activity的方法
這篇文章主要介紹了Android簡單創(chuàng)建一個Activity的方法,結(jié)合圖文形式分析了Android創(chuàng)建Activity的具體步驟與實現(xiàn)技巧,需要的朋友可以參考下2016-04-04

