首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓PackageManger - NameNotFound异常

安卓PackageManger - NameNotFound异常
EN

Stack Overflow用户
提问于 2012-02-17 12:48:31
回答 1查看 92关注 0票数 0

我使用BroadcastReceiver来注册添加包的事件,一旦我得到该事件,我就用getApplicationInfo调用包管理器,以获得有关已安装包的更多信息。此时,我收到namenoutfoundexception,我相信这是因为包管理器没有更新数据,而我在它之前得到了事件。我该如何解决这个问题?有什么想法吗?

我的代码:

代码语言:javascript
运行
复制
 public void onReceive(Context context, Intent intent) {
            // Launch the activity for showing reputation of application
        Intent intent1 = new Intent(ApplicationListViewActivity.this,AppViewActivity.class);

        //Next create the bundle and initialize it
        Bundle bundle = new Bundle();
        String pkgName = intent.getData().toString();
        //Add the parameters to bundle as 
        bundle.putString("pkgName",pkgName);
        //Add this bundle to the intent
        intent1.putExtras(bundle);
        startActivity(intent1);
}

try {
            ApplicationInfo ai = pm.getApplicationInfo(pkgName, PackageManager.GET_META_DATA);

} catch (NameNotFoundException e) {

{//end up here}
EN

回答 1

Stack Overflow用户

发布于 2012-12-06 21:02:56

pkgName看起来像这样:package: com.your.package.name,您所需要做的就是删除package:

你可以这样做:

代码语言:javascript
运行
复制
int pos = pkgName.indexOf(':');
if(pos>=0) {
    pkgName = pkgName.substring(pos + 1);
}

祝你编码愉快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9323059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档