我嘗試從PackageManager
的第三方包獲取啓動意向。根據文檔(http://developer.android.com/reference/android/content/pm/PackageManager.html#getLaunchIntentForPackage(java.lang.String)),如果在系統中找不到指定的軟件包名稱,則會引發PackageManager.NameNotFoundException
,如果軟件包不包含啓動活動,則返回null
。Android PackageManger.getLaunchIntentForPackage()不引發記錄的異常
當我試圖捕獲異常,我得到一個編譯錯誤:
PackageManager manager = getPackageManager();
try{
Intent launchAppIntent = manager.getLaunchIntentForPackage("somePackageName");
//...
} catch (PackageManager.NameNotFoundException exception){
}
java: exception android.content.pm.PackageManager.NameNotFoundException is never thrown in body of corresponding try statement
我認爲,一種可能性是改變了方法的行爲,它總是返回null
而不是拋出的一個例外。但是,那麼我是否還應該圍繞這個調用包裝一個try塊?
我該如何着手解決這個問題?
我目前正在針對Android 4.2.2構建。