包管理器找不到已知的包名称

时间:2011-11-05 22:34:26

标签: android

我有一个广播接收器获取“android.intent.action.PACKAGE_ADDED”和“android.intent.action.PACKAGE_REPLACED”意图(所以当手机上安装了一个软件包时,我的应用程序获得了一个意图包裹名字)。但是当我尝试使用PackageManager按包名获取PackageInfo时,它会抛出一个NameNotFoundException。

这可能是什么原因(除了不存在的包,显然不是这样)?我找不到很多权限 - 是否有一个我错过了导致误导性错误?

try {
    id = UAppIDUtils.GetUAppID(ctx.getPackageManager().getPackageInfo(pkgName, PackageManager.GET_SIGNATURES));
} catch (NameNotFoundException e) {
    id = null;
    Log.v(TAG, "Error finding package info");
    e.printStackTrace();
}

ctx是上下文; pkgName是包名。

2 个答案:

答案 0 :(得分:1)

想出来 - 事​​实证明PACKAGE_ADDED意图附带的字符串以“package:”开头,然后包名称 - 我没有抓住它,因为它在我的打印语句中并不突出没有写。只需要从数据字符串的开头剥离标签,我就可以了。

答案 1 :(得分:0)

我遇到这个错误的一个非常讨厌的时间是因为我试图找到/意图的应用程序的包名称在我复制的文本中有隐藏的字符。只是要小心重新输入你的包名或做一个日志,看看你真正想要的包名,因为它可能不是你的想法。

相关问题