获取应用的集合list

获取应用的集合list

获取应用的集合list前面还有一种方式:

public List<ResolveInfo> getAppInfos(){
   Intent intent=new Intent(Intent.ACTION_MAIN,null);
   intent.addCategory(Intent.CATEGORY_LAUNCHER);
   return getPackageManager().queryIntentActivities(intent,0);
}

本案例的方式:

public List<AppInfo> getAppList(){
   List<AppInfo> appInfoList=new ArrayList<AppInfo>();
   PackageManager packageManager=getPackageManager();
   List<PackageInfo> list= packageManager.getInstalledPackages(0);.........

这两种有什么区别?用哪个比较好.

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

第一种方法通过Intent查找相关的Activity准确,但无法获取Provider等应用信息。第二种方法通过解析AndroidManifest.xml的<application>标签中获取应用集合,可获取所有的app。

  • 请问Provide是什么应用信息
    2017-08-22 13:52:07
  • irista23 回复 郭恒1996 #2
    是Content Provider,是实现不同的应用程序之间实现数据共享
    2017-08-22 13:56:28
  • 慕婉清9984016 提问者 #3
    第一种可以获得所有的app吗?第一种是比较准确吗?什么情况下用第一种不用第二种的?第一次接触有点晕.
    2017-08-23 09:07:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android网络操作与数据存储2018版
  • 参与学习           人
  • 提交作业       307    份
  • 解答问题       1613    个

本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师