2011-08-01 82 views
2

在真實設備上安裝我的應用程序時會顯示一些額外的權限(未在Manifest中編碼),例如,我已編碼:如何在Android中刪除不必要的權限?

<uses-permission android:name="android.permission.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_SMS" /> 
<uses-permission android:name="android.permission.READ_SMS" /> 

安裝時,我也看到存儲(修改/刪除USB存儲內容)和電話呼叫(讀取手機狀態和ID)權限。

(活動不使用任何額外的權限)。

我想知道,他們怎麼可以被刪除。

回答

3

Android 1.6的更改日誌:http://developer.android.com/sdk/android-1.6.html#api

WRITE_EXTERNAL_STORAGE:允許 應用程序寫入外部存儲 。 應用使用API​​級別 3和下將被隱式授予 此權限(這將是 對用戶可見);使用API​​ Level 4或更高版本的應用程序 必須 明確請求此權限。

但這只是其中之一。出於某種原因,官方更改日誌缺少有關READ_PHONE_STATE的信息。完整的故事在這裏被清除:http://blogs.zdnet.com/Burnette/?p=1369&page=3

新的權限。 1.6計劃必須 明確要求 WRITE_EXTERNAL_STORAGE權限 能夠修改 SD卡的內容,他們必須明確 請求READ_PHONE_STATE 權限能夠能夠 獲取手機狀態信息。 面向早期版本的Apps 將始終 隱式請求這些權限。

因此,大家可以看到,有沒有辦法來發布應用在1.5或更早的目標不上運行1.6或更高版本的手機在安裝時,要求這些權限。

Android permissions: Phone Calls: read phone state and identity引用

+0

謝謝!是的,我真的使用min SDK版本= 3.這就是確切的原因。 – Egor

+1

現在我將minSdkVersion設置爲4,這些權限消失。 – Egor

+0

你是多麼受歡迎 –