在这个例子中将展示如何获取Application的几个基本属性信息:名字、Package标签、版本信息和图标信息。
创建一个用于存储基本信息的Class:
01.
class
PInfo {
02.
private
String appname =
""
;
03.
private
String pname =
""
;
04.
private
String versionName =
""
;
05.
private
int
versionCode =
0
;
06.
private
Drawable icon;
07.
private
void
prettyPrint() {
08.
log(appname +
"\t"
+ pname +
"\t"
+ versionName +
"\t"
+ versionCode +
"\t"
);
09.
}
10.
}
接下来是获取信息的主体:
01.
private
ArrayList < PInfo > getInstalledApps(
boolean
getSysPackages) {
02.
ArrayList < PInfo > res =
new
ArrayList < PInfo > ();
03.
List < PackageInfo > packs = getPackageManager().getInstalledPackages(
0
);
04.
for
(
int
i=
0
;i < packs.size();i++) {
05.
PackageInfo p = packs.get(i);
06.
if
((!getSysPackages) && (p.versionName ==
null
)) {
07.
continue
;
08.
}
09.
PInfo newInfo =
new
PInfo();
10.
newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
11.
newInfo.pname = p.packageName;
12.
newInfo.versionName = p.versionName;
13.
newInfo.versionCode = p.versionCode;
14.
newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
15.
res.add(newInfo);
16.
}
17.
return
res;
18.
}
用这个方法来获取系统内所包含的Applications信息:
1.
private
void
listPackages() {
2.
ArrayList < PInfo > apps = getInstalledApps(
false
);
3.
final
int
max = apps.size();
4.
for
(
int
i=
0
; i < max; i++) {
5.
apps.get(i).prettyPrint();
6.
}
7.
}
<!-- Easy AdSenser V2.37 --><!-- Post[count: 2] -->
还有一个相对比较简单的应用,借由PackageManager来获取Application信息:
01.
PackageManager manager =
this
.getPackageManager();
02.
try
{
03.
04.
PackageInfo info = manager.getPackageInfo(
this
.getPackageName(),
0
);
05.
String packageName = info.packageName;
06.
int
versionCode = info.versionCode;
07.
String versionName = info.versionName;
08.
09.
}
catch
(NameNotFoundException e) {
10.
11.
}
一般情况并不太需要这样的应用,但是可以借鉴这样的方法来处理类似的问题,多看一些总是好的!
分享到:
相关推荐
数据库系统和应用 Database System and Applications 第一章 绪论 第一章 绪论 第一章 绪论 1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统的结构 1.4 数据库系统的组成 1.5 小结 第一章 绪论 数据库的地位 数据库...
讨论基本原理思想,第一章讲我们的目标,可靠性,可扩展性,可维护性,我们怎么去理解他们以及如获取实现他们。第二章对比了不同的数据模型和查询语言,看看他们在不同场景下的表现如何。第三章讲存储模型,数据库...
这篇文章主要介绍了基于python3抓取pinpoint应用信息入库,文中通过示例代码介绍的非常详细,对大家的学习或者... /applications.pinpoint 获取applications基本信息 /getAgentList.pinpoint 获取对应application ag
应用部分所涉及的领域包括系统架构、数据获取、密码分析、控制系统和Web开发,还给出了一些关于重要问题的有效建议,包括分类、实现策略和高性价比的项目管理。 Amazon.com Review In this eagerly awaited second ...
基于 UNIX 的系统有两个可映射到附加内存中的基本系统调用: brk: brk() 是一个非常简单的系统调用。还记得系统中断点吗?该位置是进程映射的内存边界。 brk() 只是简单地将这个位置向前或者向后移动,就可以向...
第3部分包括第10章到第14章,分别介绍了基本的系统管理如何为你Feora和RHEL系统上的多个用户提供支持;如何在Fedora和RHEL系统上创建shell脚本和使用cron工具自动化一系列的任务;备份你的系统和从备份中恢复文件的...
第一章 信息检索的基本知识 第一节 信息、知识、文献、情报 信息: 应用文字、数据和信号形式通过一定的传递和处理,来表现各种相互联系的客观事物在运动变化中所具有特征性的内容的总称。 知识: 人们通过实践对...
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 23、EJB与JAVA BEAN的区别? Java Bean 是可...
使用React构建前端应用程序简介目标说明本课程将涉及的主题描述本课程的React方法简要描述React您将在本课程中学到什么这门课程是对React.js的介绍,React.js是当前最流行的...,它具有自己非常活跃且广泛的生态系统...
获取文件的基本信息;列出指定目录下的文件,并可过滤文件;创建文件和目录;删除文件和目录;移动文件和目录; 复制文件和目录;一个简单的文件搜索器; 多种方式读文件内容, 按字节读取文件内容、按字符读取文件...
因此,SfM摄影测量法提供了快速,自动化和低成本获取3D数据的可能性,这不可避免地引起了地貌界的极大兴趣。在此贡献中,介绍了SfM摄影测量的基本概念,同时也承认了其传统。举几个例子来说明SfM在地貌研究中的应用...
课程设计任务书 学生姓名: 专业班级: 指导教师: 刘 新 华 工作单位: 信息工程学院 题目:图像的数据分析 要求完成的主要任务: 利用MATLAB仿真软件系统进行图像的数据分析 要求:读取图像并求出图像的最大值、...
答:Linux Kernel(Linux 内核)、Libraries(系统运行类库或者C/C++核心库)、Application Framawork(开源框架)、Applications(核心应用程序) 21、什么是ANR,如何避免它? 答:ANR(Application Not Responding):应用...
【系统待机】 使用此功能可以达到节能及锁定电脑一键式进入系统待机状态,再次使用时恢復速度是最快的,一般五秒之內就可以恢復到上次使用状态而无需要重新开机了。 【锁定鼠标】 可即时锁定屏幕鼠标且支持密码锁定...
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 20、EJB与JAVA BEAN的区别? Java Bean 是可复用...
Excel集成工具箱8.0是利用VBA(Visual Basic for Applications)语言编写的增强应用型插件。包括160个菜单功能和100个左右 自定义函数,集160个工具于一身,但体积小于16MB。当安装集成工具箱后,如果您使用Excel ...
With the database technology in various industries and a large number of wide application in various fields, in the process of database applications, artificial misuse, human vandalism, system ...
The sections below describe the system and software requirements for developing Android applications using the Android SDK tools included in Android 1.1 SDK, Release 1. Supported Supported Supported ...
设置测试集属性中的详细信息: In ITG Request Id, add the IT Governance request ID. Note that this is relevant only when integrating with an IT Governance tool. 设置自动化测试失败时采取的措施: ...
过System_GetErrorMessage 函数来获取错误消息: if (pHge->System_Initiate()) { pHge->System_Start(); } else { MessageBox(NULL, pHge->System_GetErrorMessage(), "Error", MB_O K | MB_ICONERROR | MB_...