마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

전체 어플에서 특정 권한을 가진 어플을 추출하는 소스!!

+1 추천
    Log.d(TAG"======== getInstalledPackages =========");
        List<PackageInfo> apps = getPackageManager().getInstalledPackages(PackageManager.GET_PERMISSIONS);
        Log.d(TAG"numbers : " + apps.size());
        for(PackageInfo packageInfo : apps){
         String appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
         if(packageInfo.requestedPermissions != null){
         for(String permissionString : packageInfo.requestedPermissions){
         if("android.permission.CAMERA".equals(permissionString)){
         Log.d(TAG, appName);
             }
         }
         }
        }

 

위 소스는 CAMERA 권한을 가진 어플들을 찾는 소스인데

예를들어 INTERNET 권한과 CAMERA권한을 동시에 갖는 어플을 찾는 소스 구현이 어떻게 되죠???

이렇게 해보고 저렇게 해봤는데도 안되네요...

parkcm1989 (390 포인트) 님이 2014년 7월 18일 질문

2개의 답변

+1 추천
 
채택된 답변

if("android.permission.CAMERA".equals(permissionString))

이거를

if((Manifest.permission.CAMERA.equals(permissionString)) && (Manifest.permission.INTERNET.equals(permissionString)))

이렇게 하면안되는군요 수정중 임 -_-

       if(packageInfo.requestedPermissions != null){
        	int temp =0;
        	for(String permissionString : packageInfo.requestedPermissions){
        		if("android.permission.CAMERA".equals(permissionString)){
        			temp++;
        		}else if(Manifest.permission.INTERNET.equals(permissionString)){
        			temp++;
        		}
        	}
        	if(temp > 1) Log.d(TAG, appName);
        }

이렇게

q1212 (26,020 포인트) 님이 2014년 7월 18일 답변
parkcm1989님이 2014년 7월 18일 채택됨
0 추천
마지막 if문에 && 연산자로 조건을 하나 더 주면 되지 않나요?
안드로똘킹 (430 포인트) 님이 2014년 7월 18일 답변
...