是否存在引发NameNotFoundException的情况

时间:2014-11-06 12:39:59

标签: android android-package-managers

我使用以下代码获取包名称:

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

文档说明:

  

当给定的包,应用程序或时,抛出此异常   无法找到组件名称。

由于这是我的应用程序的关键部分,在什么情况下实际上会发生这种情况?

2 个答案:

答案 0 :(得分:0)

在某些情况下需要这样做

用户可以使用任何设备名称,即使设备上不存在,因此如果包不存在且用户尝试检查它,则需要例外。

仅举一个例子,我的项目中有一个涉及以下场景,这很有帮助。 我有服务,定期检查特定的Android应用程序是否存在应用程序存在然后启动它然后忽略。

答案 1 :(得分:0)

您可以创建一个应用程序,将所有已安装的应用程序保存在设备中。过了一段时间  您从设备中删除一些或一个应用程序。并打开您的应用程序,然后您要从保存的包列表中检索包信息。你可能会遇到这个例外。

相关问题