获得Android手机中安装程序是否是系统程序,比较好的方式是先获得已经安装的应用程序,然后过滤后得到想要的程序列表。
主要代码如下:
List<PackageInfo> packageInfoLis = getPackageManager().getInstalledPackages(PackageManager.PERMISSION_GRANTED);
for (PackageInfo packageInfo : packageInfoLis) {
if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) > 0) {
// 系统应用
} else {
// 非系统应用
}
}
相对于使用包名,UID,应用程序安装路径等去判断,上述方法是比较好的方式之一。