当我们调用 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