首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

关于getInstalledPackages的参数的有关问题

2012-09-08 
关于getInstalledPackages的参数的问题我遇到的问题:G9真机上测试,在onCreate的最后添加getPackageManager

关于getInstalledPackages的参数的问题

我遇到的问题:

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

热点排行