获取全部包信息:
- /**
- *
- * 获取系统中的全部包信息
- *
- * @param context 应用上下文
- *
- */
- private void getPackageInfos(Context context) {
- PackageManager pm = context.getPackageManager();
- List<PackageInfo> packageInfos = pm.getInstalledPackages(0);
- for (PackageInfo packageInfo : packageInfos) {
- ApplicationInfo applicationInfo = packageInfo.applicationInfo;
- String packageName = packageInfo.packageName;
- if (isSystemApp(applicationInfo)) {
- Log.i("弗洛拉鲜花", "系统应用:" + packageName);
- } else {
- Log.i("弗洛拉鲜花", "安装应用:" + packageName);
- }
- }
/**
*
* 获取系统中的全部包信息
*
* @param context 应用上下文
*
*/
private void getPackageInfos(Context context) {
PackageManager pm = context.getPackageManager();
List<PackageInfo> packageInfos = pm.getInstalledPackages(0);
for (PackageInfo packageInfo : packageInfos) {
ApplicationInfo applicationInfo = packageInfo.applicationInfo;
String packageName = packageInfo.packageName;
if (isSystemApp(applicationInfo)) {
Log.i("弗洛拉鲜花", "系统应用:" + packageName);
} else {
Log.i("弗洛拉鲜花", "安装应用:" + packageName);
}
}
}
方法1:
- /**
- *
- * 判断是否为系统应用程序
- *
- * @param appInfo 应用程序
- *
- * @return
- *
- */
- @SuppressWarnings("static-access")
- private boolean isSystemApp(ApplicationInfo appInfo) {
- return (appInfo.flags & appInfo.FLAG_SYSTEM) > 0;
- }
/**
*
* 判断是否为系统应用程序
*
* @param appInfo 应用程序
*
* @return
*
*/
@SuppressWarnings("static-access")
private boolean isSystemApp(ApplicationInfo appInfo) {
return (appInfo.flags & appInfo.FLAG_SYSTEM) > 0;
}
方法2:
- /**
- *
- * 判断是否为系统应用程序
- *
- * @param appInfo 应用程序
- *
- * @return
- *
- */
- private boolean isSystemApp(ApplicationInfo appInfo) {
- /**
- * uid是应用程序安装时由系统分配(1000 ~ 9999为系统应用程序保留)
- */
- return appInfo.uid > 1000;
- }