过滤android应用列表(区分系统应用、第三方应用、sd卡中的应用)

if ((app.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
        // 系统程序
}else  if ((app.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) {
        //非系统程序
}else if ((app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0){
        //被用户更新过的系统应用
}else if ((app.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {  
        //安装在sd卡的应用
}    

app.flags是通过

context.getPackageManager().getInstalledPackages(0)得到List<PackageInfo>,再通过packageInfo.applicationInfo.flags得到的。

过滤android应用列表(区分系统应用、第三方应用、sd卡中的应用)

上一篇:android meta-data的使用以及含义


下一篇:Android学习之路