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