List<PackageInfo> appListInfo=context.getPackageManager()
.getInstalledPackages(0);
for (PackageInfo p : appListInfo) {
System.out.println(p.applicationInfo.name);
System.out.println(p.applicationInfo.packageName);
}
用这种做法很奇怪,只能取出所有包名,取不出来程序的名字~求解
解决方案 »
- android pm 安装apk
- 关于Android源码的解析
- 问一个有关ContentProvider的问题,有关自定义Cursor。PS:100%结贴,期待各位达人指点
- 怎么在我设计的应用程序中取得SDcard中的图片
- 怎么让程序后台运行,然后快捷键呼出程序?
- adb shell [device not found]
- 请教:android转换json字符串
- R cannot be resolved to a variable这是什么原因?
- android同时上传文件和键值对
- 【Android相册】自己写的相册,拍完照后无法实时加载照片
- 自定义适配器中,如何触发新开窗口--- startActivity()
- 跪求答案
package com.zhang7nan.getAppList;import java.util.List;import org.json.JSONArray;
import org.json.JSONObject;import android.app.Activity;
import android.content.pm.PackageInfo;
import android.os.Bundle;public class GetAppList extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
List<PackageInfo> appListInfo = this.getPackageManager()
.getInstalledPackages(0);
JSONArray ja = new JSONArray();
for (PackageInfo p : appListInfo) {
if (p.applicationInfo.uid > 10000) {
JSONObject jo = new JSONObject();
jo.put("label", p.applicationInfo.name);
jo.put("packageName", p.applicationInfo.packageName);
ja.put(jo);
}
}
System.out.println(ja);
} catch (Exception e) {
// TODO: handle exception
} }
}
这是得到的结果02-23 15:49:21.500: INFO/System.out(9884): [{"packageName":"com.android.soundrecorder"},{"packageName":"com.android.alarmclock"},{"packageName":"com.android.sdksetup"},{"packageName":"com.android.launcher"},{"packageName":"com.google.android.providers.enhancedgooglesearch"},{"packageName":"com.gameloft.android.ANMP.GloftAsphalt5.asphalt5"},{"packageName":"com.android.contacts"},{"packageName":"com.zhang7nan.android"},{"packageName":"com.android.inputmethod.latin"},{"packageName":"irdc.ex03_19"},{"packageName":"com.android.calculator2"},{"packageName":"com.zhang7nan.getAppList"},{"packageName":"com.android.htmlviewer"},{"packageName":"com.androidbook.layout"},{"packageName":"irdc.EX05_04"},{"packageName":"com.android.browser"},{"packageName":"com.android.customlocale"},{"packageName":"com.android.music"},{"packageName":"com.android.netspeed"},{"packageName":"com.android.providers.userdictionary"},{"packageName":"com.android.inputmethod.pinyin"},{"packageName":"android.tts"},{"packageName":"com.android.providers.media"},{"packageName":"com.android.globalsearch"},{"packageName":"com.wd.AndroidDaemon"},{"packageName":"com.android.fallback"},{"packageName":"com.gameloft.android.GAND.GloftBia2.bia2"},{"packageName":"com.android.gesture.builder"},{"packageName":"org.lee.android"},{"packageName":"android.tether"},{"packageName":"com.android.providers.contacts"},{"packageName":"com.android.providers.applications"},{"packageName":"com.android.providers.drm"},{"packageName":"com.android.term"},{"packageName":"com.android.development"},{"packageName":"com.android.packageinstaller"},{"packageName":"com.svox.pico"},{"packageName":"com.android.camera"},{"packageName":"jp.co.omronsoft.openwnn"},{"packageName":"com.android.email"},{"packageName":"com.wandoujia.wandouapp"},{"packageName":"com.android.spare_parts"},{"packageName":"com.android.providers.downloads"}]
jo.put("packageName", p.applicationInfo.loadLabel(this.getPackageManager()));
就可以看到结果了。