2014-11-06 29 views
0

我用下面的代碼獲取包名的情況:有沒有真正在那裏的NameNotFoundException拋出

PackageInfo pinfo = null; 
try { 
    pinfo = getPackageManager().getPackageInfo(getPackageName(), 0); 
} catch (NameNotFoundException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

的文檔狀態:

當一個給定的包則拋出此異常,應用程序或 組件名稱找不到。

由於這是我的應用程序的關鍵部分,在什麼情況下可以實際發生?

+1

你調用它的方式,它可能不會/不會拋出異常,但'.getPackageInfo(「SillyMadeUpName」,0)'可能會! – TripeHound 2014-11-06 12:43:40

回答

0

此,如果不存在,用戶嘗試軟件包來檢查它是需要在某些情況下

用戶可以使用所以需要例外,甚至非對設備存在的任何包名稱。

只是舉個例子,我的一個項目涉及以下場景,這對我有幫助。 我們有服務,檢查特定的Android應用程序定期的應用程序是否存在或不存在,然後啓動它,否則只是忽略。

0

您可以創建一個應用程序,將所有已安裝的應用程序保存在設備中。在特定時間 之後,您從設備中刪除一些或一個應用程序。然後打開你的應用程序,然後你想從保存的軟件包列表中檢索軟件包信息。你可能會得到這個例外。

相關問題