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();} }
知識點補充:Android通過包名獲取其他應用程序的名稱
查看本應用的應用名稱 :
getString(R.String.app_name);
查看其它應用的應用名稱 :
public static String getApplicationNameByPackageName(Context context, String packageName) { PackageManager pm = context.getPackageManager(); String Name ; try { Name=pm.getApplicationLabel(pm.getApplicationInfo(packageName,PackageManager.GET_META_DATA)).toString(); } catch (PackageManager.NameNotFoundException e) { Name = '' ; } return Name;}
總結
到此這篇關于Android根據包名停止其他應用程序的方法的文章就介紹到這了,更多相關android 包名應用程序內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. IDEA EasyCode 一鍵幫你生成所需代碼2. Ajax引擎 ajax請求步驟詳細代碼3. Java構建JDBC應用程序的實例操作4. Spring應用拋出NoUniqueBeanDefinitionException異常的解決方案5. ThinkPHP5 通過ajax插入圖片并實時顯示(完整代碼)6. javascript設計模式 ? 建造者模式原理與應用實例分析7. 一篇文章帶你了解JavaScript-對象8. Python使用oslo.vmware管理ESXI虛擬機的示例參考9. IntelliJ IDEA設置條件斷點的方法步驟10. Express 框架中使用 EJS 模板引擎并結合 silly-datetime 庫進行日期格式化的實現方法
