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 intinstalledNum =0;
06 for(inti =0; i < count; i++) {
07 PackageInfo p = packs.get(i);
08 if(p.versionName ==null)
09 continue;
10
分享到: Linux——VIM 中文显示乱码解决 | Android——添加屏幕待机选项
  • 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 ] Bitstream Ve

更多相关文章

  1. Android(安卓)虚拟机Dalvik、Android各种java包功能、Android相
  2. 自己写的一套应用管理系统(包含一套app系统,一套后台web管理系统《
  3. Android短信发送功能实现技巧分享
  4. Android应用Preference相关及源码浅析(SharePreferences篇)
  5. Android语音通话实现方案及相关技术介绍
  6. TextView支持的XML属性及相关方法
  7. 安卓及手机相关技术基础
  8. Android中用Spannable在TextView中给文字加上边框
  9. Android进阶知识:Handler相关

随机推荐

  1. Android 数据存储四种方式
  2. Android:SystemUi有关notification
  3. Android的计时组件Chronometer类简单使用
  4. Android源码阅读之Looper
  5. 解决eclipse中overlaps the location of
  6. Android 本地数据存储 API(二)
  7. TextView的使用
  8. android studio 打开工程报错
  9. 在Eclipse查看Android源码
  10. android 常用Bitmap处理方法收集:普通裁剪