关于getInstalledPackages的参数的问题_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > 关于getInstalledPackages的参数的问题

关于getInstalledPackages的参数的问题

 2011/1/10 9:44:53  firefox7  http://firefox7.javaeye.com  我要评论(0)
  • 摘要:我遇到的问题:G9真机上测试,在onCreate的最后添加getPackageManager().getInstalledPackages(0)可以正确得到已安装程序,而getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES)却会报错如下:01-0611:56:55.028:ERROR/JavaBinder(29183):!!!FAILEDBINDERTRANSACTION!!!这是什么原因呢
  • 标签:all 问题

我遇到的问题:

G9真机上测试,在onCreate的最后添加getPackageManager().getInstalledPackages(0)可以正确得到已安装程序,而getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES)却会报错如下:
01-06 11:56:55.028: ERROR/JavaBinder(29183): !!! FAILED BINDER TRANSACTION !!!
这是什么原因呢?

?

获取系统内Applications的基本信息可以使用以下这个方法。
getPackageManager().getInstalledPackages(0)
但是这个参数里面的0是什么意思呢?
得到activities应该是使用这个参数PackageManager.GET_ACTIVITIES吧?
而且PackageManager.GET_ACTIVITIES= 0x00000001的哇,而上面为什么用0喃?


答:

里面的flag参数,只是一个过滤标志,0 是过滤permission,根据自己的需求设置flag,都是合理的。

这些flag没有仔细研究
我在我的手机上测试 PackageManager.GET_ACTIVITIES??和 0 的结果一样都是 一样的,看看系统的那个appmanager,他不是这么获得安装的apk的,用的是getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES)
因为有些apk可能被删掉 但是数据还在 所以用GET_UNINSTALLED_PACKAGES 这个flag

发表评论
用户名: 匿名