[英]How to get the List of Installed Applications in Android?
這是源代碼...
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
}
}
}
這是結果〜
[{“ 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“},{” package 名稱“:” 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”}“]
應用名稱不存在!幫助!
以下是說明您要執行的操作的代碼段:
public InstalledPackage(PackageManager pm, ApplicationInfo ai, Drawable defaultIcon) {
name = ai.packageName;
icon = defaultIcon;
pkg = ai.packageName;
if (ai.labelRes != 0) {
name = (String) pm.getText(ai.packageName, ai.labelRes, ai);
}
if (ai.icon != 0) {
icon = pm.getDrawable(ai.packageName, ai.icon, ai);
}
}
請記住,許多包裝都沒有標簽。
解:
JSONArray ja = new JSONArray();
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost request = new HttpPost(sendDataUrl.toString());
List<NameValuePair> params = new ArrayList<NameValuePair>();
PackageManager pm = context.getPackageManager();
List<PackageInfo> appListInfo = pm.getInstalledPackages(0);
for (PackageInfo p : appListInfo) {
if (p.applicationInfo.uid > 10000) {
JSONObject jo = new JSONObject();
jo.put("label", p.applicationInfo.loadLabel(pm).toString());
jo.put("packageName", p.applicationInfo.packageName);
ja.put(jo);
}
}
謝謝同性戀
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.