2012-09-25 4 views
0

저는 안드로이드 시스템 개발을 처음 사용합니다. 나는 안드로이드 애플 리케이션 개발 경험이있다. 안드로이드 권한 모델을 수정하고 내 안드로이드 맛에 추가 권한 집합을 제공해야합니다. 예 : <uses-permission android:name="com.example.project.My_Permission_Setting" /> 사용자 측면의 기능이 아닌 개발자 측면의 기능입니다.Android Manifest.xml 구문 분석

사람은 사전에 .. 이러한 권한의 매니페스트 및 취급의 구문 분석이 이루어지는 곳 저를 준다 (안드로이드 개발자 페이지 :) 이외의 다른 자원에

감사합니다 날 또는 지점을 도울 수! :)

답변

1

당신은 당신의 사용자 권한으로 응용 프로그램의 구성 요소를 보호 할 수 있습니다. 이 경우 매니페스트 파일 <permission>에 권한을 선언해야합니다. 그런 다음 구성 요소 (activity, service, broadcastreceiver, contentprovider)를 선언 할 때 속성 (android:permission="string")에이 권한을 지정해야합니다.

Android 시스템의 일부를 보호 할 권한을 추가하려면 Android 시스템 프로그래밍을 살펴야합니다. 하지만 그런 종류의 허가가 필요하다고 생각하지 않습니다.

편집 :

당신은 안드로이드 소스에서 파일 frameworks/base/core/res/AndroidManifest.xml에 새 권한을 지정할 수 있습니다. 안드로이드 파서가 어떻게 작동하는지 확인하려면 frameworks/base/services/java/com/android/server/PackageManagerService.java

+0

사실 내가 도와 주셔서 감사합니다 이런 종류의 허가 않습니다 ... 내가 전에 말했듯이 나는 안드로이드 시스템 프로그래밍을 조사하기 시작했습니다. 내 현재 프로젝트는 안드로이드 권한 모델을 재 설계하고 기존 권한을 감싸는 래퍼를 제공하고 새로운 권한을 부여하는 것입니다. !! –

+0

내 대답에 대한 업데이트를 추가했습니다. – Yury

+0

감사합니다 yury .. 마지막 코멘트 정말 도움이됩니다. 이건 내가 찾고 있던 와트 야. –

1

그 전체 솔루션의 경우 나도 몰라하지만 난 그 방향으로 생각 :

 PackageManager pm = context.getPackageManager(); 
     String permission = "YOUR.CUSTOM.PERMISSION"; 
     try 
     { 
      pm.getPermissionInfo(permission, PackageManager.GET_PERMISSIONS); 
     } 
     catch (PackageManager.NameNotFoundException e) 
     { 
      e.printStackTrace(); 
      // Your permission does not exist... 
     } 
+0

저는 실제로 안드로이드가 애플리케이션 매니페스트 파일을 구문 분석하는 코드의 부분을 조사하고 있습니다. –

관련 문제