Здравствуйте, мне нужно проверить каждое установленное приложение на телефоне, разрешено ли использовать мобильное подключение для передачи данных.
. С некоторой помощью я достиг, чтобы отфильтровать все приложения, использующие подключение к Интернету, и добавить их в список.Теперь мне нужно проверить приложения, которым разрешено использовать мобильное подключение для передачи данных, и у меня есть переключатель в моем макете, чтобы я мог проверить его истинное или ложное (зависит от того, разрешено ли приложению использовать мобильное подключение для передачи данных)
private boolean usesInternet(PackageInfo pInfo) {
if(pInfo.requestedPermissions != null) {
for(String i : pInfo.requestedPermissions)
if(i.equals(Manifest.permission.INTERNET)){
return true;}
}
return false;
}
private List<AppList> getAllInstalledApps() {
List<AppList> List = new ArrayList<AppList>();
List<PackageInfo> packs = getPackageManager().getInstalledPackages(PackageManager.GET_PERMISSIONS);
//bln = false;
for(PackageInfo p : packs){
if(usesInternet(p)){
String appName = p.applicationInfo.loadLabel(getPackageManager()).toString();
Drawable icon = p.applicationInfo.loadIcon(getPackageManager());
List.add(new AppList(appName, icon));
}
}
/* for (int i = 0; i < packs.size(); i++) {
PackageInfo p = packs.get(i);
if ((isSystemPackage(p) == false)) {
String appName = p.applicationInfo.loadLabel(getPackageManager()).toString();
Drawable icon = p.applicationInfo.loadIcon(getPackageManager());
List.add(new AppList(appName, icon));
}
}*/
return List;
}
фильтрация каждого приложения, которое использует соединение, если ему разрешено использовать мобильные данные.если да, измените значение переключателя на true.