일부 Android 권한 조사를 수행 중이며 AndroidManifest.xml 파일에 따라 - 승인으로 WRITE_EXTERNAL_STORAGE
만을 선언 한 응용 프로그램을 실행했습니다. Android 마켓에서도이 사실을보고합니다. aapt 도구를 사용하여 사용 권한을 덤프하면 하나의 사용 권한 만보고됩니다.다른 사용 권한을보고하는 PackageManager 및 AndroidManifest.xml
그러나 코드에서 다음을 수행, 안드로이드 장치 (또는 에뮬레이터)에서 실행 :
PackageManager pm = getPackageManager();
List<PackageInfo> pkgList = pm.getInstalledPackages(PackageManager.GET_PERMISSIONS | PackageManager.GET_SIGNATURES);
...
PackageInfo p = pkgList.get(i); // where i is the index of the apk in question
String[] perms = p.requestedPermissions;
나는이 APK, READ_PHONE_STATE
및 매니페스트에서 하나 WRITE_EXTERNAL_STORAGE
2 권한을 얻을. '앱 관리'화면에서 자세한 내용을 선택하면 READ_PHONE_STATE
권한이 추가로 표시됩니다.
Android Manifest에서 필요하지 않은 권한이 'implied'(코드, feature use 등) 할 수있는 경우가 있습니까? 또는 다른 방법으로 말하면, aapt
은 하나의 사용 권한 집합을 반환하고 getPackageManager().getPackageInfo()
API는 다른 집합을 반환하는 이유는 무엇입니까?
편집 : "더 나은"용어로 검색
내가 찾고 있던 해답을 발견 : 한마디로 Android permissions: Phone Calls: read phone state and identity
의 SDK의 이전 버전으로 컴파일 된 APK 무료로 일부 권한을 상속 한을 ...