1.android读取手机中全部应用软件,主要版本号,大小,ID
在api的android.content.pm包里
通过List<ApplicationInfo> packages = getPackageManager().getInstalledApplications(0)直接返回全部已经安装的应用列表。
获得手机应用软件列表的代码:
1: public List fetch_installed_apps() {
2: List<ApplicationInfo> packages = getPackageManager()
3: .getInstalledApplications(0);
4: list = new ArrayList<Map<String, Object>>(packages.size());
5: Iterator<ApplicationInfo> l = packages.iterator();
6:
7: while (l.hasNext()) {
8: Map<String, Object> map = new HashMap<String, Object>();
9: ApplicationInfo app = (ApplicationInfo) l.next();
10: String packageName = app.packageName;//包名
11: String appDir =app.publicSourceDir;//程序的路径
12: File appFile = new File(appDir);//由路径创建一个File
13: String fileSize =appFile.length()+"";//当前程序的大小
14: String label = "";
15: try {
16: label = getPackageManager().getApplicationLabel(app).toString();//Label
17: PackageInfo pInfo = getPackageManager().getPackageInfo(
18: packageName, MODE_APPEND);
19: // versioncode =pInfo.versionCode+"";//版本号
20: versionName =pInfo.versionName+"";//版本名
21: } catch (Exception e) {
22: Log.i("Exception", e.toString());
23: }
24: map = new HashMap<String, Object>();
25: map.put("name", label);
26: map.put("desc", fileSize);
27: // map.put("img", getPackageManager().getActivityIcon(g));
28: list.add(map);
29: }
30: return list;
31: }
PackageInfo 信息里有versionName 和versionCode所以要有第14,15行 。版本号对应androidManifest.xml里的
package="irdc.ex06_09"
android:versionCode="2"
android:versionName="2.0.1">
上面代码的packageName 对应androidManifest.xml里的package="irdc.ex06_09"
第10行到13行计算文件大小的方法
2.android读取当前运行的线程,主要功能可以关闭它
3.android读取开机运行的软件