Я разрабатываю приложение для Android, которое классифицирует установленные приложения в системные приложения и пользовательские приложения с использованием packageManager . Моя текущая логика фильтрации для системных приложений: < /p>
PackageManager packageManager = getPackageManager();
List apps = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
List systemApps = new ArrayList();
List userApps = new ArrayList();
for (ApplicationInfo appInfo : apps) {
if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
systemApps.add(appInfo);
} else {
userApps.add(appInfo);
}
}
< /code>
Это правильно отделяет системные приложения от пользовательских приложений. Тем не менее, [b] некоторые приложения плагинов (например, ресурсы WiFi, Gnssdebuggreport, MDML -образец и т. Д.) Также появляются в списке системных приложений [/b].
👉 есть любое Конкретный флаг в ApplicationInfo
, который идентифицирует приложения плагинов? Strong>
Я разрабатываю приложение для Android, которое классифицирует установленные приложения в системные приложения [b] [/b] и [b] пользовательские приложения [/b] с использованием packageManager . Моя текущая логика фильтрации для системных приложений: < /p> [code]PackageManager packageManager = getPackageManager(); List apps = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
List systemApps = new ArrayList(); List userApps = new ArrayList();
for (ApplicationInfo appInfo : apps) { if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { systemApps.add(appInfo); } else { userApps.add(appInfo); } } < /code> Это правильно отделяет системные приложения от пользовательских приложений. Тем не менее, [b] некоторые приложения плагинов (например, ресурсы WiFi, Gnssdebuggreport, MDML -образец и т. Д.) Также появляются в списке системных приложений [/b]. 👉 есть любое Конкретный флаг в ApplicationInfo [/code], который идентифицирует приложения плагинов? Strong>