2012-04-22 5 views
1

나는 장치의 모든 설치된 응용 프로그램의 목록 반환이 코드를 가지고 :안드로이드에서 gps를 사용하는 설치된 응용 프로그램 목록을 얻는 방법은 무엇입니까?

PackageManager pm = this.getPackageManager(); 

Intent intent = new Intent(Intent.ACTION_MAIN, null); 
intent.addCategory(Intent.CATEGORY_LAUNCHER); 

List<ResolveInfo> list =pm.queryIntentActivities(intent,PackageManager.PERMISSION_GRANTED); 
     for (ResolveInfo rInfo : list) { 
      results.add(rInfo.activityInfo.applicationInfo.loadLabel(pm) 
        .toString()); 
      Log.w("Installed Applications", rInfo.activityInfo.applicationInfo 
        .loadLabel(pm).toString()); 
     } 

하지만 내가 배운대로 지금은 지금까지 GPS 서비스를 사용하여 내 목록에서 만 응용 프로그램을 싶지을하는 경우 I 그 애플 리케이션에서 찍은 권한을 필터링 할 수 있습니다 그럼 내가 그것을 해결할 수 있지만 이것을 어떻게 해야할지 모르겠다.

답변

3

사용은 아래의 코드 :::

PackageManager packageManager=this.getPackageManager(); 
List<PackageInfo> applist=packageManager.getInstalledPackages(0); 
Iterator<PackageInfo> it=applist.iterator(); 
while(it.hasNext()){ 
PackageInfo pk=(PackageInfo)it.next(); 
if(PackageManager.PERMISSION_GRANTED==packageManager.checkPermission(Manifest.permission.ACCESS_FINE_LOCATION, pk.packageName)) //checking if the package is having INTERNET permission 
{ 
results.add(""+pk.applicationInfo.loadLabel(packageManager)); 
} 
} 
+0

이 코드를 통해 어떤 생각을 가지고 사용할 수 있습니까? –

+0

위의 코드에서 어디에서이 코드를 사용해야하는지 이해할 수 없습니다. – Reyjohn

+0

제발 도와 주시겠습니까? – Reyjohn

관련 문제