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 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
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. android实现横竖屏不间断播放文件
  3. Android mediaplayer 播放本地音乐文件
  4. Android NDK开发(一)——ndk-build编译生成so库文件并使用
  5. Android 学习笔记4---签名Android的执行文件
  6. Android打包成jar文件方法总结
  7. android 应用程序包文件 (APK)

随机推荐

  1. 基于windows平台的Android原生(Native)C
  2. Android 面试宝典
  3. Android EasyPermissions官方库,高效处理
  4. 【移动开发】Android Animation 动画效果
  5. Android开发中versionCode和versionName
  6. Android自定义Dialog及与Activity的交互
  7. 关于Android中的几个文件目录
  8. Android activity四大启动模式详解
  9. 十分钟教你玩转Android动画【Android】
  10. Android屏幕背光调整机制