2012-09-25 31 views
0

我是新來的Android系統的開發。儘管我有一些android應用程序開發的經驗。 我想修改的Android權限模型,並需要提供額外的權限集在我定製的Android的味道。 作爲一個例子 <uses-permission android:name="com.example.project.My_Permission_Setting" /> 這是爲了比是用戶側特徵的顯影劑側特徵。的Android的Manifest.xml解析

誰能幫助我,或指向一個資源(比Android開發者頁面:)等),這也是我在哪裏清單和處理這些權限的解析發生..

先謝謝了! :)

回答

1

可以保護您的應用程序的組件與自定義權限。爲此,您應該在清單文件<permission>中聲明權限。然後在你的組件(活動,服務,廣播接收器,ContentProvider的)的聲明中,您應指定在屬性(android:permission="string")此權限。

如果你想補充一點,會保護Android系統的一部分的許可,則你需要深入挖掘Android系統編程。但我認爲你不需要這種類型的許可。

編輯:

可以在Android的源文件frameworks/base/core/res/AndroidManifest.xml在指定新的權限。要檢查語法分析器是如何工作的Android嘗試看看frameworks/base/services/java/com/android/server/PackageManagerService.java

+0

其實我的幫助..做這種類型的許可感謝我前面說我剛開始尋找到了Android系統編程。我目前的項目是重新設計android權限模型,並提供現有權限的包裝,並提出新的權限.. !! –

+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

我其實尋找到做什麼的部分代碼android的分析應用程序清單文件。 –