意圖

使用隱含意圖的注意事項

在呼叫隱式意圖時,檢查系統是否可以處理隱藏意圖總是有幫助的。

這可以通過使用 PackageManager.queryIntentActivities(Intent intent, int flags) 進行檢查來完成

PackageManager pm = getActivity().getPackageManager();
if (intent.resolveActivity(pm) != null) {
    //intent can be handled
    startActivity(intent);
} else {
     //intent can not be handled
}

開始活動,這是一個 singleTasksingleTop

當活動的啟動模式singleTasksingleTop 時,只要活動以資料 null 啟動,就會呼叫 onActivityResult。要防止這種情況,請使用 Intent.setFlags(0) 重置預設標誌。