获取系统内Applications的基本信息
2011-03-31 16:37
330 查看
在这个例子中将展示如何获取Application的几个基本属性信息:名字、Package标签、版本信息和图标信息。
创建一个用于存储基本信息的Class:
Java代码
class
PInfo {
private
String appname = ""
;
private
String pname = ""
;
private
String versionName = ""
;
private
int
versionCode = 0
;
private
Drawable icon;
private
void
prettyPrint() {
log(appname + "t"
+ pname + "t"
+ versionName + "t"
+ versionCode + "t"
);
}
}
接下来是获取信息的主体:
Java代码
private
ArrayList < PInfo > getInstalledApps(boolean
getSysPackages) {
ArrayList < PInfo > res = new
ArrayList < PInfo > ();
List < PackageInfo > packs = getPackageManager().getInstalledPackages
(0
);
for
(int
i=0
;i < packs.size();i++) {
PackageInfo p = packs.get(i);
if
((!getSysPackages) && (p.versionName == null
)) {
continue
;
}
PInfo newInfo = new
PInfo();
newInfo.appname =
p.applicationInfo.loadLabel
(getPackageManager()).toString();
newInfo.pname = p.packageName;
newInfo.versionName = p.versionName;
newInfo.versionCode = p.versionCode;
newInfo.icon = p.applicationInfo.loadIcon
(getPackageManager());
res.add(newInfo);
}
return
res;
}
用这个方法来获取系统内所包含的Applications信息:
Java代码
private
void
listPackages() {
ArrayList < PInfo > apps = getInstalledApps(false
);
final
int
max = apps.size();
for
(int
i=0
; i < max; i++) {
apps.get(i).prettyPrint();
}
}
还有一个相对比较简单的应用,借由PackageManager来获取Application信息:
Java代码
PackageManager manager = this
.getPackageManager
();
try
{
PackageInfo info = manager.getPackageInfo
(this
.getPackageName(), 0
);
String packageName = info.packageName;
int
versionCode = info.versionCode;
String versionName = info.versionName;
} catch
(NameNotFoundException e) {
// TODO Auto-generated catch block
}
http://blog.sina.com.cn/s/blog_6d8189930100nyds.html
final Context context = mContext;
final PackageManager pm = context.getPackageManager();
abstract
PackageManager
getPackageManager
()
Return
PackageManager instance to find global package information.
获取系统内
Applications
的基本信息可以使用以下这个方法。
getPackageManager().getInstalledPackages
(0)
abstract
PackageInfo
http://firefox7.javaeye.com/blog/865027
创建一个用于存储基本信息的Class:
Java代码
class
PInfo {
private
String appname = ""
;
private
String pname = ""
;
private
String versionName = ""
;
private
int
versionCode = 0
;
private
Drawable icon;
private
void
prettyPrint() {
log(appname + "t"
+ pname + "t"
+ versionName + "t"
+ versionCode + "t"
);
}
}
class PInfo { private String appname = ""; private String pname = ""; private String versionName = ""; private int versionCode = 0; private Drawable icon; private void prettyPrint() { log(appname + "t" + pname + "t" + versionName + "t" + versionCode + "t"); } }
接下来是获取信息的主体:
Java代码
private
ArrayList < PInfo > getInstalledApps(boolean
getSysPackages) {
ArrayList < PInfo > res = new
ArrayList < PInfo > ();
List < PackageInfo > packs = getPackageManager().getInstalledPackages
(0
);
for
(int
i=0
;i < packs.size();i++) {
PackageInfo p = packs.get(i);
if
((!getSysPackages) && (p.versionName == null
)) {
continue
;
}
PInfo newInfo = new
PInfo();
newInfo.appname =
p.applicationInfo.loadLabel
(getPackageManager()).toString();
newInfo.pname = p.packageName;
newInfo.versionName = p.versionName;
newInfo.versionCode = p.versionCode;
newInfo.icon = p.applicationInfo.loadIcon
(getPackageManager());
res.add(newInfo);
}
return
res;
}
private ArrayList < PInfo > getInstalledApps(boolean getSysPackages) { ArrayList < PInfo > res = new ArrayList < PInfo > (); List < PackageInfo > packs = getPackageManager().getInstalledPackages(0); for(int i=0;i < packs.size();i++) { PackageInfo p = packs.get(i); if ((!getSysPackages) && (p.versionName == null)) { continue ; } PInfo newInfo = new PInfo(); newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString(); newInfo.pname = p.packageName; newInfo.versionName = p.versionName; newInfo.versionCode = p.versionCode; newInfo.icon = p.applicationInfo.loadIcon(getPackageManager()); res.add(newInfo); } return res; }
用这个方法来获取系统内所包含的Applications信息:
Java代码
private
void
listPackages() {
ArrayList < PInfo > apps = getInstalledApps(false
);
final
int
max = apps.size();
for
(int
i=0
; i < max; i++) {
apps.get(i).prettyPrint();
}
}
private void listPackages() { ArrayList < PInfo > apps = getInstalledApps(false); final int max = apps.size(); for (int i=0; i < max; i++) { apps.get(i).prettyPrint(); } }
还有一个相对比较简单的应用,借由PackageManager来获取Application信息:
Java代码
PackageManager manager = this
.getPackageManager
();
try
{
PackageInfo info = manager.getPackageInfo
(this
.getPackageName(), 0
);
String packageName = info.packageName;
int
versionCode = info.versionCode;
String versionName = info.versionName;
} catch
(NameNotFoundException e) {
// TODO Auto-generated catch block
}
http://blog.sina.com.cn/s/blog_6d8189930100nyds.html
final Context context = mContext;
final PackageManager pm = context.getPackageManager();
abstract
PackageManager
getPackageManager
()
Return
PackageManager instance to find global package information.
获取系统内
Applications
的基本信息可以使用以下这个方法。
getPackageManager().getInstalledPackages
(0)
abstract
PackageInfo
getPackageInfo (String packageName, int flags) Retrieve overall information about an application package that is installed on the system. |
相关文章推荐
- 获取系统内Applications的基本信息
- 获取系统中安装的应用程序的基本信息
- 获取系统基本信息
- UWP 应用获取各类系统、用户信息 (1) - 设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息
- Python获取Linux或Windows系统的基本信息
- 使用Python获取远程Linux系统基本信息
- Android获取系统基本信息
- 获取系统中安装的应用程序的基本信息
- 基于JAVA代码 获取手机基本信息(本机号码,SDK版本,系统版本,手机型号)
- UWP 应用获取各类系统、用户信息 (1) - 设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息
- 获取Solaris系统基本信息
- 通过JAVA代码获取手机的一些基本信息(本机号码,SDK版本,系统版本,手机型号)
- PYWIN32 + WMI模块:获取WINDOWS系统基本信息
- 基于JAVA代码 获取手机基本信息(本机号码,SDK版本,系统版本,手机型号)
- 获取Linux(redhat)系统的一些基本信息
- 基于JAVA代码 获取手机基本信息(本机号码,SDK版本,系统版本,手机型号)
- 获取App应用系统基本信息 → AppSysMgr
- 运用Python语言编写获取Linux基本系统信息(二):文件系统使用情况获取
- java获取系统的基本信息
- 通过JAVA代码获取手机的一些基本信息(本机号码,SDK版本,系统版本,手机型号)