在android手机中获取所有应用程序

在android手机中获取所有应用程序,android,Android,我想获得安卓手机上安装的所有应用程序的列表。通过以下代码,我只能获得用户安装的应用程序,但我也想获得系统应用程序 packageManager = getPackageManager(); List<PackageInfo> packageList = packageManager.getInstalledPackages(packageManager.GET_PERMISSIONS);//PackageManager.GET_META_DATA List&

我想获得安卓手机上安装的所有应用程序的列表。通过以下代码,我只能获得用户安装的应用程序,但我也想获得系统应用程序

packageManager = getPackageManager();
        List<PackageInfo> packageList = packageManager.getInstalledPackages(packageManager.GET_PERMISSIONS);//PackageManager.GET_META_DATA

    List<PackageInfo> packageList1 = new ArrayList<PackageInfo>();
    PackageManager pm = this.getPackageManager();
    /*To filter out System apps*/
    for(PackageInfo pi : packageList) {
        boolean b = isSystemPackage(pi);
        if(!b) {
            packageList1.add(pi);
        }
    }
    apkList = (ListView) findViewById(R.id.AppList);
    apkList.setAdapter(new ApkAdapter(this, packageList1, packageManager));

    apkList.setOnItemClickListener(this);
}

private boolean isSystemPackage(PackageInfo pkgInfo) {
        return ((pkgInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) ? true
                : false;
    }
packageManager=getPackageManager();
List packageList=packageManager.getInstalledPackages(packageManager.GET_权限)//PackageManager.GET_元数据
List packageList1=new ArrayList();
PackageManager pm=this.getPackageManager();
/*筛选出系统应用程序*/
for(PackageInfo pi:包装商){
布尔b=isSystemPackage(pi);
如果(!b){
包装商1.添加(pi);
}
}
apkList=(ListView)findViewById(R.id.AppList);
apkList.setAdapter(新的ApkAdapter(此为packageList1,packageManager));
apkList.setOnItemClickListener(this);
}
私有布尔值isSystemPackage(PackageInfo pkgInfo){
返回((pkgInfo.applicationInfo.flags和applicationInfo.FLAG_SYSTEM)!=0)?真
:假;
}
试试这个:

final PackageManager pm = getActivity().getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> apps = pm.queryIntentActivities(intent, PackageManager.GET_META_DATA);
final PackageManager pm=getActivity().getPackageManager();
意图=新意图(Intent.ACTION\u MAIN,空);
intent.addCategory(intent.CATEGORY_启动器);
列表应用程序=pm.querytentActivities(intent,PackageManager.GET_META_DATA);

希望它能帮助你

它没有给我所有的应用程序它只给用户安装的应用程序检查此链接: