Android——获取本机安装的应用程序
16lz
2022-05-07
Android上获取本机安装的应用程序
在google上输入以上的关键字+ android,可以搜到的代码:
1 | List<PackageInfo> packs = getPackageManager().getInstalledPackages( 0 ); |
虽然,有些代码号称可以过滤掉系统自身的应用程序,但是只要细看代码就会发现,好像里面的那个布尔变量没有起到什么过滤的作用。
方法一:通过获取的安装包(包括安装的与系统自身的应用程序),对其android.content.pm.PackageInfo的packageName 进行过滤,
但是Anrodi与google的包比较容易过滤掉,但需要对不同产商进行适配;
方法二:枚举 \data\app 文件夹,其下的*.apk文件 就是本机安装的软件,而\system\App下的*.apk文件就是系统自带的软件,
由于普通的程序是无法读取这两个文件夹的,需要root权限吧,因此该方法也行不通(用File.listFiles() + android.permission.FACTORY_TEST 权限 还是不能枚举出文件)
虽然不能枚举文件夹 "\data\app\",但我们可以访问(read)文件夹"\data\app\"下的所有文件,因此可以用如下的方法来获取本机上已经安装的软件(排除系统的应用程序):
01 | PackageManager pckMan = getPackageManager(); |
02 | List<PackageInfo> packs = pckMan.getInstalledPackages( 0 ); |
03 | count = packs.size(); |
04 | String name; |
05 | int installedNum = 0 ; |
06 | for ( int i = 0 ; i < count; i++) { |
07 |
PackageInfo p = packs.get(i); |
08 |
if (p.versionName == null ) |
09 |
continue ; |
10 |
|
- 2011-01-05 21:22
- 浏览 1515
- 评论(0)
- 分类:移动开发
- 相关推荐
评论
发表评论
您还没有登录,请您登录后再发表评论
marine8888- 浏览: 291865 次
- 性别:
- 来自: 深圳
最近访客 更多访客>>
bb_88 喵喵喵瞄 allen1916 chungehenyy文章分类
- 全部博客 (95)
- Android——Adapter相关 (1)
- Android——Button相关 (3)
- Android——技术细节 (21)
- Android——ListView之listSelector (1)
- Android——标题栏相关 (1)
- Android——ListView相关 (4)
- Android——入门 (1)
- Android——系统资源挖掘 (1)
- Android——Filter相关 (2)
- Android——布局属性介绍 (2)
- Android——清单manifest.xml (1)
- Android——正则表达式 (3)
- Android——TabHost (1)
- Android——线程(Thread+Handler) (2)
- Android——文件操作 (2)
- 宿松人在天涯 (2)
- Android——Activity及其特效 (4)
- Android——网络相关 (2)
- Android——图形图像基础 (1)
- Android源码编译 (6)
- Java基础 (9)
- Linux基础 (6)
- Andorid------Launcher开发相关 (1)
- Android——View相关 (9)
- Andorid——Context相关 (1)
- Android——Package相关 (2)
- Android——自定义属性类似于(android:...) (0)
- Andorid------手势识别 (1)
- Android——网络 (1)
- Linux Samba (1)
- ubuntu (1)
- 代码管理工具 (1)
社区版块
- 我的资讯 (0)
- 我的论坛 (0)
- 我的问答 (0)
存档分类
- 2013-02 (1)
- 2011-12 (1)
- 2011-11 (2)
- 更多存档...
最新评论
- hongbingfans: 4楼正解;
毫秒转换成时分秒 格式:HH:mm:ss Java实现 - 贫僧法号虚脱: 今天刚好需要这个效果,非常感谢!
Android--去除EditText边框,添加下划线, - 814687491: 不错!学习了!
Android--ListView 分割线 - ivanf8e62: lan恰 写道怎么感觉这个跟android没半毛钱关系的呢?C ...
Android——padding/margin详解(转载) - TienYow: 学习了,但怎么设置单向边框呢?比如下边框,上边框!
Android--为TextView添加边框
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。若作者同意转载,必须以超链接形式标明文章原始出处和作者。
© 2003-2015 ITeye.com. All rights reserved. [ 京ICP证110151号 京公网安备110105010620 ]
更多相关文章
- Android(安卓)虚拟机Dalvik、Android各种java包功能、Android相
- 自己写的一套应用管理系统(包含一套app系统,一套后台web管理系统《
- Android短信发送功能实现技巧分享
- Android应用Preference相关及源码浅析(SharePreferences篇)
- Android语音通话实现方案及相关技术介绍
- TextView支持的XML属性及相关方法
- 安卓及手机相关技术基础
- Android中用Spannable在TextView中给文字加上边框
- Android进阶知识:Handler相关