AIR Android:設置訪問權限
設置訪問權限
每個Android程序都有一個配置文件AndroidManifest.xml,用來定義程序所有的配置信息,其中一個重要的部分是資源權限聲明。Android擁有完善的安全機制,所有敏感的系統(tǒng)資源在默認情況下都是無法訪問的,只有在配置文件中加入了對相關權限的聲明后,才能進行相應操作。比如,如果程序需要訪問網絡,則必須添加開啟網絡訪問權限的聲明。用戶在安裝該程序時,能夠看到程序所用到的所有權限,這樣就能夠避免被安裝惡意程序。
在打包apk的過程中,AIR SDK會自動創(chuàng)建AndroidManifest.xml文件,并將應用程序描述文件中的android節(jié)點的內容映射到AndroidManifest.xml中,從而簡化了開發(fā)流程。
在FlipIt項目中,android節(jié)點里面加入了一項設置,內容如下:
- <android>
- <manifestAdditions>
- <![CDATA[<manifest>
- <uses-permission android:name="android.permission.INTERNET"/>
- </manifest>]]>
- </manifestAdditions>
- </android>
manifestAdditions節(jié)點,顧名思義,是對manifest文件的補充,放入manifest中的內容必須符合AndroidManifest.xml的格式。其中的uses-permission節(jié)點即權限聲明類型,對應的權限名稱為android.permission.INTERNET,表示訪問網絡的權限。如果沒有添加網絡訪問權限的聲明,所有對外部的HTTP請求都將失敗。
AIR支持以下幾種權限設置:
android.permission.INTERNET:訪問網絡。
android.permission.WRITE_EXTERNAL_STORAGE:外部存儲設備(即SD卡)的寫權限。
android.permission.READ_PHONE_STATE:在通話時調節(jié)音量。
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:訪問網絡狀態(tài)。
android.permission.ACCESS_WIFI_STATE:訪問WI-FI狀態(tài)。
如果程序中用到多項權限,則一一列在manifest節(jié)點下。