Android获取已安装应用信息(图标,名称,版本号,包)

android获取手机已经安装的app信息 Android获取手机已安装APP(系统/非系统) 效果图 主体代码 private ListView mlistview; private List<PackageInfo> packageInfoList; private List<AppInfo> applicationInfoList; private MyAdapter myAda... 阅读详情

一、程序大概分成三个部分:

1.获取手机已安装的所有应用package的信息(其中包括用户自己安装的,还有系统自带的);

2.滤除系统自带应用;

3.通过列表显示出应用程序的图标(icon),和其他文字信息(应用名称,包名称package name,版本号等等)

二、首先,我们定义一个数据结构,来保存应用程序信息(icon,name,packageName,versionName,versionCode,等)

[java]  

public class AppInfo {  

    public String appName="";  

    public String packageName="";  

    public String versionName="";  

    public int versionCode=0;  

    public Drawable appIcon=null;  

    public void print()  

    {  

        Log.v("app","Name:"+appName+" Package:"+packageName);  

        Log.v("app","Name:"+appName+" versionName:"+versionName);  

        Log.v("app","Name:"+appName+" versionCode:"+versionCode);  

    }  

}  

三、然后我们通过PackageManager 来获取已安装的应用包信息。

[java]  

ArrayList<AppInfo> appList = new ArrayList<AppInfo>(); //用来存储获取的应用信息数据 

 List<PackageInfo> packages = getPackageManager().getInstalledPackages(0); 

        for(int i=0;i<packages.size();i++) {   

        PackageInfo packageInfo = packages.get(i);   

        AppInfo tmpInfo = new AppInfo();   

        tmpInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();   

        tmpInfo.packageName = packageInfo.packageName;   

        tmpInfo.versionName = packageInfo.versionName;   

        tmpInfo.versionCode = packageInfo.versionCode;   

        tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager());  

        appList.add(tmpInfo); 

       }//好啦 这下手机上安装的应用数据都存在appList里了。  

[java]  

if((packageInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)==0)  

{    //非系统应用  

}  else{    //系统应用          

}  

[java]  

ArrayList<AppInfo> appList = new ArrayList<AppInfo>(); //用来存储获取的应用信息数据  

List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);  

        for(int i=0;i<packages.size();i++) {   

        PackageInfo packageInfo = packages.get(i);   

        AppInfo tmpInfo = new AppInfo();   

        tmpInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();   

        tmpInfo.packageName = packageInfo.packageName;   

        tmpInfo.versionName = packageInfo.versionName;   

        tmpInfo.versionCode = packageInfo.versionCode;   

        tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager());  

        //Only display the non-system app info  

        if((packageInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)==0)     {  

            appList.add(tmpInfo);//如果非系统应用,则添加至appList  

        }  else {  

       }  

     相关博文参考链接:

     https://www.jianshu.com/p/f2a8ff92e6a0

     https://blog.youkuaiyun.com/q384415054/article/details/72972405

Android 获取已安装应用信息(图标,名称,版本号,包) 1.定义一个数据结构,来保存应用程序信息(icon,name,packageName,versionName,versionCode,等) public class AppInfo { private static final String TAG = "AppInfo"; public String appName = ""; public String packageName = ""; public String ver 阅读详情

相关推荐

C#与西门子PLC通讯——新手快速入门

本文基于C# .Net Core和西门子博图TIA Portal V17搭建。由于手边没有西门子PLC实物,所以采用S7-PLCSIM Advanced V4.0作为模拟PLC,以实现0成本完成通讯测试实例。这篇入门笔记解决了新手第一次上手实践时遇到的坑,并且有意忽略了实际项目中会遇到的逻辑交互和更多的数据格式问题。

吾家有猫名探花的博客 2万+

android 获取手机已安装APP的名称和包名

废话不多说 直接上代码,不好用你砍我 public void getAppProcessName(Context context) { //当前应用pid final PackageManager packageManager = context.getPackageManager(); final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Inte

jiexiao4151的博客 2527

基于PLC的全自动洗衣机控制系统+控制程序

本设计使用PLC控制系统替换了传统的继电器控制系统,实现了全自动洗衣机在硬件方面的提升,丰富了全自动洗衣机在软件方面的功能,提高了全自动洗衣机的洗衣效率,基本可以满足用户的洗衣需求。

zzzz114231的博客 8957

android获取安装app的包名和名称

public void getAppList() { PackageManager pm = mContext.getPackageManager(); // Return a List of all packages that are installed on the device. List<PackageInfo> packages = pm.getIn...

lmpt90的专栏 3409

VINS-Fusion实战:从零搭建无人机视觉惯性导航系统(附ROS配置指南)

本文提供了一份详尽的VINS-Fusion实战指南,涵盖从硬件选型、传感器标定到ROS节点配置与参数调优的全过程。重点解析了如何将VINS-Fusion视觉惯性里程计系统与PX4飞控深度集成,并实现室外GPS融合,旨在帮助开发者从零搭建稳定、高精度的无人机视觉惯性导航系统。

lll78的博客 865

jmeter5.4.1 使用案例

jmeter主要用于接口压力测试,模拟海量请求并发访问接口 1.下载jmeter https://jmeter.apache.org/download_jmeter.cgi 2.启动jemter 双击即可 3.配置jmeter 1.先更改语言 2.创建线程组 配置线程执行规划 3.创建http请求默认值 4.创建http请求 5.创建http信息头管理器 指定 Content-Type:application/json 6.创建响应断言 7.创建察看结果数 直接点击 执行 按.

SpringHASh的博客 1222

Android获取系统桌面的应用以及图标,显示在自己的app界面

LogUtils.d("applicationInfoList==:" + applicationInfoList.size()+",包名:"+applicationInfoList.get(4).packageName);// 通过appInfo.packageName可以获取应用的包名。通过这三步骤就可以在自己app显示系统的apk了,跳转的话这个就不说了懂得都懂。// GET_META_DATA表示获取应用的元数据。// 过滤掉系统应用和非启动器的第三方应用。// 系统应用且是启动器应用。

weixin_37961937的博客 2098

通过miniconda conda安装jupyer的时候报错: InvalidArchiveError(“Error with archive

摘要:本文针对Windows系统使用Conda时出现的InvalidArchiveError错误(文件路径过长或压缩包损坏),提供了解决方案。建议以管理员身份运行PowerShell并执行命令启用长路径支持(LongPathsEnabled),然后重启电脑或终端。作者通过该方法成功解决了jupyter安装问题。附有错误截图和解决后的成功截图。

猿小白的博客 786

【PackageManager】Android获取已安装应用信息(图标,名称,版本号,包)

Android 菜市场上有一款应用较 ShareApp,可以显示,管理,分享Android手机上安装的应用。 但比较不爽的是,它把很多系统自带的应用程序也都显示了出来。这些程序往往是无法卸

zhengxiuchen86的博客 3831

【2025最新版】ABAP 开发百科全书专栏文章目录(上)

本文汇总了一系列SAP ABAP技术文章,内容涵盖实用技巧合集、函数式编程实践(如Currying、reduce应用)、设计模式实现(如Visitor、Singleton)、动态代理与Mock技术、性能优化方案(如Lazy Loading)、日期处理与内存管理,以及ABAP与JavaScript的编程范式对比。还涉及CDS视图、Fiori字段追踪、单元测试优化等实战经验,深入剖析了ABAP底层机制(如Internal Session、Function Module实现原理),并提供了多种反模式改进方案。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2476

Gbase 8a GDCA考试真题100%

本文整理一些Gbase 8a中非常易错得考试真题及答案,而且都是不好搜的。加粗的是正确答案。

打工之路,一路生花 4305

Android 获取所有已安装应用信息(图标,名称,版本号,包) ,并在自己程序打开某个应用

1.获取所有已安装APP的信息Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_LAUNCHER); List appsList = getPackageManager().queryIntentActivities(intent, 0); for (int i = 0;

kkmike999的专栏 1576

C#实战大华智能安防系统:从SDK封装到视频流与智能报警的全链路落地

本文将介绍C#集成大华SDK开发安防系统的实战经验,重点解决多路视频预览卡顿和报警延迟问题。文章通过三层架构设计(SDK封装层、业务服务层、应用层)实现解耦,详细分析线程安全封装、高效解码显示和智能事件联动等核心技术。针对16路摄像头同时预览时CPU占用率过高的问题,提出使用子码流拉流与异步解码的优化方案,并总结8个常见开发陷阱的解决方案。文中还提供了大华智能安防系统的完整架构图,展示从设备层到应用层的交互流程,特别强调业务服务层中视频流服务和智能报警服务的核心功能设计。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 432

Android获取已安装应用信息(图标 名称 版本号 包)

Android 菜市场上有一款应用较 ShareApp,可以显示,管理,分享Android手机上安装的应用。 但比较不爽的是,它把很多系统自带的应用程序也都显示了出来。这些程序往往是无法卸载的,更无法分享,让“已安装应用程序”的列表显的非常凌乱。 我在手机上运行了一下,结果Gtalk,DRMService这些系统应用都显示出来了..比较不爽。 于是自己写了个程序,看看能不能只显示

liufuliang163的专栏 945

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: Android权限——安装时默认开启app全部权限
下一篇: Android 获取手机所有短信内容
LXB-89
博客等级 码龄11年 34粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值