歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 4.0 Manifest Permission 改動

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:

  1. String  ADD_VOICEMAIL   Allows an application to add voicemails into the system.  
  2. String  BIND_TEXT_SERVICE   Must be required by a TextService.  
  3. String  BIND_VPN_SERVICE    Must be required by an VpnService, to ensure that only the system can bind to it.  
  4. String  READ_PROFILE    Allows an application to read the user's personal profile data.  
  5. String  WRITE_PROFILE   Allows an application to write (but not read) the user's personal profile data.  
  6. 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

Copyright © Linux教程網 All Rights Reserved