簡體   English   中英

如何獲取Android中已安裝的應用程序列表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM