android 获取应用app信息

本文介绍了一种通过PackageManager获取设备上安装的非系统应用程序信息的方法。利用反射机制,该方法可以遍历所有非系统应用,并收集每个应用的包名及显示名称等信息,最后将这些信息组织成JSON数组返回。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值