Android中获取系统上安装的APP信息
Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00003259
Android中获取系统上安装的APP信息,并且提供卸载、区别用户应用和系统应用的小程序,供初学者参考。
public class PakageInfoProvider {
private static final String tag = "GetappinfoActivity";
private Context context;
private List<AppInfo> appInfos;
private AppInfo appInfo;
public PakageInfoProvider(Context context) {
super();
this.context = context;
}
public List<AppInfo> getAppInfo() {
PackageManager pm = context.getPackageManager();
List<PackageInfo> pakageinfos = pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
appInfos = new ArrayList<AppInfo>();
for (PackageInfo packageInfo : pakageinfos) {
appInfo = new AppInfo();
//获取字符串方法
context.getString(R.string.app_name);
context.getResources().getString(R.string.app_name);
//获取尺寸资源方法
context.getResources().getDimension(R.dimen.test);
//获取xml文件并且返回的是XmlResourceParse类,其继承与XmlPullParse
XmlResourceParser xmlrp = context.getResources().getXml(R.xml.yo);
// 获取应用程序的名称,不是包名,而是清单文件中的labelname
String str_name = packageInfo.applicationInfo.loadLabel(pm).toString();
appInfo.setAppName(str_name);
// 获取应用程序的版本号码
String version = packageInfo.versionName;
appInfo.setAppVersion(version);
// 获取应用程序的快捷方式图标
Drawable drawable = packageInfo.applicationInfo.loadIcon(pm);
appInfo.setDrawable(drawable);
// 获取应用程序是否是第三方应用程序
appInfo.setIsUserApp(filterApp(packageInfo.applicationInfo));
//给一同程序设置包名
appInfo.setPackageName(packageInfo.packageName);
Logger.i(tag, "版本号:" + version + "程序名称:" + str_name);
appInfos.add(appInfo);
appInfo = null;
}
return appInfos;
}
/**
* 三方应用程序的过滤器
*
* @param info
* @return true 三方应用 false 系统应用
*/
public boolean filterApp(ApplicationInfo info) {
if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
// 代表的是系统的应用,但是被用户升级了. 用户应用
return true;
} else if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
// 代表的用户的应用
return true;
}
return false;
}
}

Android中获取系统上安装的APP信息的更多相关文章
- Android中获取系统内存信息以及进程信息-----ActivityManager的使用(一)
本节内容主要是讲解ActivityManager的使用,通过ActivityManager我们可以获得系统里正在运行的activities,包括 进程(Process)等.应用程序/包.服务(Serv ...
- Android中获取系统的时间
activity代码 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); set ...
- windows系统上安装与使用Android NDK r5 (转)
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
- windows系统上安装与使用Android NDK r5
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
- 利用RxJava获取手机已安装的App的图片、应用名称和版本号
先上效果图: 获取手机已安装的App列表利用Android系统API就可以办到,这里为什么要引入RxJava?现在我们假设一下有下面几个需求: 1.我们不需要所有的App,只需要用户安装的第三方App ...
- Android中获取应用程序(包)的信息----PackageManager
本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagena ...
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagenam ...
- Android中获取正在运行的应用程序-----ActivityManager.RunningAppProcessInfo类详解
今天继续讲解关于ActivityManager的使用,通过前面一节的学习,我们学会了如何利用ActivityManager获取系统里 正在运行的进程.本文要讲解的知识点是利用这些进程信息获取系统里正在 ...
- Android中获取应用程序(包)的信息-----PackageManager的使用
本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagename ...
随机推荐
- 【Unity】10.3 创建类人动画角色
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 Mecanim 动画系统 (Mecanim Animation System) 特别适合使用类人骨架动画.由于类人骨架非 ...
- extern C的作用具体解释
转载于:http://www.cnblogs.com/rollenholt/archive/2012/03/20/2409046.html 1.引言 C++语言的创建初衷是"a better ...
- MacOS Sierra10.12.4编译Android7.1.1源代码必须跳的坑
简单介绍 下载Android7.1.1源代码花费了两天,编译整个源代码相同花费了2天,期间遇到无数个坑. 如今编译源代码,一旦中间遇到错误,则要又一次開始. 本文记录编译过程遇到的问题及解决方式,如有 ...
- 菜鸟学SSH(十四)——Spring容器AOP的实现原理——动态代理
之前写了一篇关于IOC的博客——<Spring容器IOC解析及简单实现>,今天再来聊聊AOP.大家都知道Spring的两大特性是IOC和AOP,换句话说,容器的两大特性就是IOC和AOP. ...
- Linux设备驱动开发详解
Linux设备驱动开发详解 http://download.csdn.net/detail/wuyouzi067/9581380
- iOS开发之蓝牙
// // ViewController.m // 13-蓝牙 // // Created by hongqiangli on 2017/7/21. // Copyright © 李洪强. A ...
- ZooKeeper示例 分布式锁
[转载请注明作者和原文链接, 如有谬误, 欢迎在评论中指正. ] 场景描述 在分布式应用, 往往存在多个进程提供同一服务. 这些进程有可能在相同的机器上, 也有可能分布在不同的机器上. 如果这些进程 ...
- 泛微OA e-cology8 数据库链接
数据库恢复 数据库恢复的恢复请按照如下步骤进行: Ø 重新安装对应版本的数据库服务软件 Ø 通过数据库软件本身的还原工具还原备份数据库文件 Sqlserver可以通过企业管理器直接还原备份文件或者附加 ...
- FIS-PLUS百度前端框架使用过程
1.如果后端开发语言是php,那么前端fis框架用FIS-PLUS,如果是java则用jello 2.FIS-PLUS使用步骤 1.安装nodejs 2.安装 fis npm install -g f ...
- Mac在Finder中显示/usr、/tmp、/var等隐藏目录
Finder中默认是不显示/usr./tmp./var等隐藏目录的,通过在终端中输入一下命令来另其显示: #开启 defaults write com.apple.Finder AppleShowAl ...