安卓(Android) 怎么根据Context判断是否为系统应用程序

2019年10月17日22:16:35安卓(Android) 怎么根据Context判断是否为系统应用程序已关闭评论 508 962字阅读3分12秒

1.简介

安卓(Android) 怎么根据Context判断是否为系统应用程序?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;

public class Main {
  
   
  public static boolean isSystemApplication(Context context) {
    if (context == null) {
      return false;
    }

    return isSystemApplication(context, context.getPackageName());
  }

  
  public static boolean isSystemApplication(Context context, String packageName) {
    if (context == null) {
      return false;
    }

    return isSystemApplication(context.getPackageManager(), packageName);
  }

  
  public static boolean isSystemApplication(PackageManager packageManager, String packageName) {
    if (packageManager == null || packageName == null || packageName.length() == 0) {
      return false;
    }

    try {
      ApplicationInfo app = packageManager.getApplicationInfo(packageName, 0);
      return (app != null && (app.flags & ApplicationInfo.FLAG_SYSTEM) > 0);
    } catch (NameNotFoundException e) {
      e.printStackTrace();
    }
    return false;
  }
}

 
继续阅读
编程十万个怎么办