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(); }