AIR Android:设置访问权限

设置访问权限

每个Android程序都有一个配置文件AndroidManifest.xml,用来定义程序所有的配置信息,其中一个重要的部分是资源权限声明。Android拥有完善的安全机制,所有敏感的系统资源在默认情况下都是无法访问的,只有在配置文件中加入了对相关权限的声明后,才能进行相应操作。比如,如果程序需要访问网络,则必须添加开启网络访问权限的声明。用户在安装该程序时,能够看到程序所用到的所有权限,这样就能够避免被安装恶意程序。

在打包apk的过程中,AIR SDK会自动创建AndroidManifest.xml文件,并将应用程序描述文件中的android节点的内容映射到AndroidManifest.xml中,从而简化了开发流程。

在FlipIt项目中,android节点里面加入了一项设置,内容如下:

 
 
  1. <android> 
  2.   <manifestAdditions> 
  3.   <![CDATA[<manifest>  
  4.   <uses-permission android:name="android.permission.INTERNET"/>  
  5.   </manifest>]]> 
  6.   </manifestAdditions> 
  7. </android> 

manifestAdditions节点,顾名思义,是对manifest文件的补充,放入manifest中的内容必须符合AndroidManifest.xml的格式。其中的uses-permission节点即权限声明类型,对应的权限名称为android.permission.INTERNET,表示访问网络的权限。如果没有添加网络访问权限的声明,所有对外部的HTTP请求都将失败。

AIR支持以下几种权限设置:

android.permission.INTERNET:访问网络。

android.permission.WRITE_EXTERNAL_STORAGE:外部存储设备(即SD卡)的写权限。

android.permission.READ_PHONE_STATE:在通话时调节音量。

android.permission.ACCESS_FINE_LOCATION:通过GPS设备获取位置信息。

android.permission.ACCESS_COARSE_LOCATION:通过网络信号获取位置信息。

android.permission.CAMERA:使用摄像头。

android.permission.RECORD_AUDIO:使用麦克风。

android.permission.DISABLE_KEYGUARD:禁用键盘锁。

android.permission.WAKE_LOCK:禁止自动休眠。

android.permission.ACCESS_NETWORK_STATE:访问网络状态。

android.permission.ACCESS_WIFI_STATE:访问WI-FI状态。

如果程序中用到多项权限,则一一列在manifest节点下。

THE END