Android根据包名停止其他应用程序的方法

  1.使用killBackgroundProcesses()方法

  首先再AndroidManifest.xml文件中添加权限

  

  然后直接调用方法

  public void stopAppByKill(Context context ,String packageName) {

  ActivityManager mActivityManager = (ActivityManager)

  context.getSystemService(Context.ACTIVITY_SERVICE);

  mActivityManager.killBackgroundProcesses(packageName);

  2.forceStopPackage()方法

  该方法属于隐藏方法,需要使用反射机制调用,同样需要在AndroidManifest.xml文件中添加权限并且要先在application中加入系统级权限才可以调用隐藏方法

  

  然后使用反射机制调用方法

  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 包名应用程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  您可能感兴趣的文章: