Android中如何判斷Intent是否存在
阿新 • • 發佈:2019-02-15
當Android系統呼叫Intent時,如果沒有找到Intent匹配的Activity元件(Component),那麼應用將報以下錯誤:
android.content.ActivityNotFoundException:Unable to find explicit activity class
如果沒有使用UncaughtExceptionHandler類來處理全域性異常,那麼程式將異常退出造成不好的使用者體驗。為了防止ActivityNotFoundException錯誤的出現,在啟動Activity之前先判斷Intent是否存在。
程式碼如下:
public static boolean isIntentAvailable(Context context, Intent intent) { final PackageManager packageManager = context.getPackageManager(); List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.GET_ACTIVITIES); return list.size() > 0; }