2016-03-15 3 views
-1

Я разрабатываю приложение в ОС Android.Как получить список приложений, использующих местоположение программно в Android?

мне нужен метод, который возвращает список приложений, которые полагаются на Опред.местополож/GPS

+0

Пожалуйста, объясните, в деталях, какие «приложения, которые полагаются на услуги определения местоположения/GPS ". – CommonsWare

ответ

5

Вы можете использовать код (от here), чтобы получить список разрешений, установленных приложений на устройстве. Затем выполните поиск необходимых разрешений для служб определения местоположения, таких как ACCESS_FINE_LOCATION. Ваш код будет выглядеть примерно так:

PackageManager pm = getPackageManager(); 
List packages = pm.getInstalledApplications(PackageManager.GET_META_DATA); 
for (ApplicationInfo applicationInfo : packages) { 
    Log.d("test", "App: " + applicationInfo.name + " Package: " + applicationInfo.packageName); 
    try { 
     PackageInfo packageInfo = pm.getPackageInfo(applicationInfo.packageName, PackageManager.GET_PERMISSIONS); 
     //Get Permissions 
     String[] requestedPermissions = packageInfo.requestedPermissions; 
     if(requestedPermissions != null) { 
      for (int i = 0; i < requestedPermissions.length; i++) { 
       Log.d("test", requestedPermissions[i]); 

       ////////////////////////////////////// 
       ////////////////////////////////////// 
       // Look for the desired permission here 
       ////////////////////////////////////// 
       ////////////////////////////////////// 
      } 
     } 
    } catch (NameNotFoundException e) { 
     e.printStackTrace(); 
    } 
} 

И сделать это, вам необходимо следующее в манифесте:

<uses-permission android:name="android.permission.GET_TASKS"/> 
+0

Это замечательно. можно ли также узнать список приложений, для которых предоставлено конкретное разрешение? – Mrunal

+0

@Mrunal Это то, что я считаю, что код выше. У вас есть список приложений и их разрешений, поэтому вы можете фильтровать их по своему усмотрению. И вы можете отметить ответ, как я предполагаю. – EmJiHash

Смежные вопросы