Android 判断某个Intent是否可用

    xiaoxiao2021-03-25  65

    当我们调用 Intent 时,如果没有找到与此 Intent 匹配的 Activity 组件(Component)时,应用将报以下错误:

    android.content.ActivityNotFoundException:Unable to find explicit activity class 因此,在启动 Activity 之前要先判断 Intent 在此机器上是否可用。

    方法一:

    public static boolean isIntentAvailable(Context context, String action) { final PackageManager packageManager = context.getPackageManager(); final Intent intent = new Intent(action); List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); return list.size() > 0; }

    方法二:

    //直接调用一行代码 if (intent.resolveActivity(getPackageManager()) != null) { //存在 startActivity(intent); } else { //不存在 Log.e("", "not exists"); }
    转载请注明原文地址: https://ju.6miu.com/read-40172.html

    最新回复(0)