Android 4.0已於前天也就是2011年10月19日在香港發布了,這對於我們吃這碗飯的人來說可是個裡程碑式的大事件,相信大家也在第一時間內拿到了SDK以及android-14 API文檔。
雖然Google為了與Samsung的基情,推遲了源代碼的發布,但是我們依然可以通過反編譯platform裡面的android.jar來暫時滿足下好奇心。
在新的emulator裡面,我們可以看到非常多的改動,尤其是UI的,可以說是徹底換了層皮,那麼他的底層代碼呢?我們先以Manifest類為例分析下4.0裡面permission相對於android-11 API的3.0的改動:
相對於Android3.0,Manifest裡面增加了6個permission:
- String ADD_VOICEMAIL Allows an application to add voicemails into the system.
- String BIND_TEXT_SERVICE Must be required by a TextService.
- String BIND_VPN_SERVICE Must be required by an VpnService, to ensure that only the system can bind to it.
- String READ_PROFILE Allows an application to read the user's personal profile data.
- String WRITE_PROFILE Allows an application to write (but not read) the user's personal profile data.
- String SET_POINTER_SPEED Allows low-level access to setting the pointer speed.
ADD_VOICEMAIL
允許使用語音郵件,語音郵件類位於android.provider.VoicemailContract
BIND_TEXT_SERVICE
這個不好說,貌似是類似輸入文字時的文字糾錯,本機字典還有AutoComplete之類的功能,具體請參考android.service.textservice以及android.view.textservice類,示例程序裡有關於它的演示,可彈出一個跟已輸入入法類似的框進行對已輸入文字的處理
BIND_VPN_SERVICE
VPN(Virtual Private Network)虛擬專用網絡的支持,難道以後我們可以用手機做網絡代理?哈哈,開個玩笑。具體參考android.net.VpnService
READ_PROFILE
難道在2.3上消失的READ_OWNER_DATA/WRITE_OWNER_DATA以另一種名字回來了?讓我們拭目以待吧
WRITE_PROFILE
SET_POINTER_SPEED
貌似是可以改變輸入設備指針的速度?還是頻率?不太清楚
細數從Android2.2 Froyo版本到4.0 ICS的變化大致如下:(+號表示後者比前者增加,-號相反)
Android 2.2-->2.3
+
NFC
-
READ_OWNER_DATA
+
SET_ALARM
+
USE_SIP
-
WRITE_OWNER_DATA
Android 2.3-->3.0
+
BIND_REMOTEVIEWS
Android 3.0-->4.0
+
ADD_VOICEMAIL
+
BIND_TEXT_SERVICE
+
BIND_VPN_SERVICE
+
READ_PROFILE
+
WRITE_PROFILE
+
SET_POINTER_SPEED
附上簡短的說明:
NFC
NFC協議的使用權限,Near Field Communication, 近距無線通信,類似紅外,藍牙,Wifi,但是不同於兩者,采用獨特的信號衰減技術,距離短,帶寬大,安全性高,基於RFID,後者多用於信用卡,公交卡,物流標簽,具體參考android.nfc
SET_ALARM
允許應用廣播Alarm intent給用戶
USE_SIP
SIP協議的使用權限,SIP協議基於IP,可使用TCP,UDP,與HTTP類似,具體參考android.net.sip
BIND_REMOTEVIEWS
由remoteViewsService請求,可以創造在其他進程中顯示的View,具體參考android.widgetRemoteViewsService
READ_OWNER_DATA
Android2.2及之前讀取用戶數據的權限
WRITE_OWNER_DATA
Android2.2及之前寫入用戶數據的權限
兄弟我好不容易做出的總結,希望轉載請注明出處,thx ----by zhangzh332
附表:
(Android 2.2-->4.0 Permission Change)
+
ADD_VOICEMAIL
com.android.voicemail.permission.ADD_VOICEMAIL
+
BIND_REMOTEVIEWS
android.permission.BIND_REMOTEVIEWS
+
BIND_TEXT_SERVICE
android.permission.BIND_TEXT_SERVICE
+
BIND_VPN_SERVICE
android.permission.BIND_VPN_SERVICE
+
NFC
android.permission.NFC
-
READ_OWNER_DATA
android.permission.READ_OWNER_DATA
+
READ_PROFILE
android.permission.READ_PROFILE
+
SET_ALARM
com.android.alarm.permission.SET_ALARM
+
SET_POINTER_SPEED
android.permission.SET_POINTER_SPEED
+
USE_SIP
android.permission.USE_SIP
-
WRITE_OWNER_DATA
android.permission.WRITE_OWNER_DATA
+
WRITE_PROFILE
android.permission.WRITE_PROFILE