亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android根據包名停止其他應用程序的方法

 更新時間:2020年03月20日 07:58:22   作者:夏去復立秋  
這篇文章主要介紹了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"系統(tǒng)級權限才可以調用隱藏方法

<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 包名應用程序內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論