Android判断Activity是否存在的几种方法

  • Post author:
  • Post category:其他

一、根据包名判断应用是否存在

public boolean checkApplication(String packageName) {
    if (packageName == null || "".equals(packageName)){
        return false;
    }
    try {
        ApplicationInfo info = getPackageManager().getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
        return true;
    } catch (NameNotFoundException e) {
        return false;
    }
}

二、判断Activity是否存在

Intent intent = new Intent();
intent.setClassName("包名", "类名");

方法一:

if (getPackageManager().resolveActivity(intent, 0) == null) {
    // 说明系统中不存在这个activity
}

方法二:

if (intent.resolveActivity(getPackageManager()) == null) {
    // 说明系统中不存在这个activity
}

方法三:

List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, 0);
if (list.size() == 0) {
    // 说明系统中不存在这个activity
}

版权声明:本文为zhangqi6627原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。