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 包名應用程序內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: