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 |