android 获取应用app信息

static String TAG = "zzzz";
public static JSONArray Appxinxi(PackageManager packageManager) {
   
   
    JSONArray array=new JSONArray();
    try {
        List<PackageInfo> packageInfos = packageManager.getInstalledPackages(0);
        for (int i = 0; i < packageInfos.size(); i++) {
            PackageInfo packageInfo = packageInfos.get(i);
            //过滤掉系统app
            if ((ApplicationInfo.FLAG_SYSTEM & packageInfo.applicationInfo.flags) != 0) {
                continue;
            }
            JSONObject obj =new JSONObject();
            obj.put("appid", packageInfo.packageName);//appid
            //appname
            obj.put("appname",  packageInfo.applicationInfo.loadLabel(packageManager).toString());
            array.put(obj);
        }
    } catch (Exception e) {
        Log.e(TAG, "获取信息失败");
    }
    return array;
}
使用
private void App(){
    new Thread(){
        @Override
        public void run() {
            super.run();
            //扫描得到APP信息
            final JSONArray appInfos = Appxinxi(Mainactiv.this.getPackageManager());
            Log.e("zzzzzzzzzzzzzzzzzz",appInfos.toString());
            appid(appInfos.toString());
        }
    }.start();
}

猜你喜欢

转载自blog.csdn.net/mt11111111/article/details/80459068