过滤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得到的。

posted @ 2014-08-28 15:54  带狗狗带  Views(834)  Comments(0Edit  收藏  举报