我使用以下代码获取包名称:
PackageInfo pinfo = null;
try {
pinfo = getPackageManager().getPackageInfo(getPackageName(), 0);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
文档说明:
当给定的包,应用程序或时,抛出此异常 无法找到组件名称。
由于这是我的应用程序的关键部分,在什么情况下实际上会发生这种情况?
答案 0 :(得分:0)
在某些情况下需要这样做
用户可以使用任何设备名称,即使设备上不存在,因此如果包不存在且用户尝试检查它,则需要例外。
仅举一个例子,我的项目中有一个涉及以下场景,这很有帮助。 我有服务,定期检查特定的Android应用程序是否存在应用程序存在然后启动它然后忽略。
答案 1 :(得分:0)
您可以创建一个应用程序,将所有已安装的应用程序保存在设备中。过了一段时间 您从设备中删除一些或一个应用程序。并打开您的应用程序,然后您要从保存的包列表中检索包信息。你可能会遇到这个例外。