AIR Android:設(shè)置訪問(wèn)權(quán)限
設(shè)置訪問(wèn)權(quán)限
每個(gè)Android程序都有一個(gè)配置文件AndroidManifest.xml,用來(lái)定義程序所有的配置信息,其中一個(gè)重要的部分是資源權(quán)限聲明。Android擁有完善的安全機(jī)制,所有敏感的系統(tǒng)資源在默認(rèn)情況下都是無(wú)法訪問(wèn)的,只有在配置文件中加入了對(duì)相關(guān)權(quán)限的聲明后,才能進(jìn)行相應(yīng)操作。比如,如果程序需要訪問(wèn)網(wǎng)絡(luò),則必須添加開啟網(wǎng)絡(luò)訪問(wèn)權(quán)限的聲明。用戶在安裝該程序時(shí),能夠看到程序所用到的所有權(quán)限,這樣就能夠避免被安裝惡意程序。
在打包apk的過(guò)程中,AIR SDK會(huì)自動(dòng)創(chuàng)建AndroidManifest.xml文件,并將應(yīng)用程序描述文件中的android節(jié)點(diǎn)的內(nèi)容映射到AndroidManifest.xml中,從而簡(jiǎn)化了開發(fā)流程。
在FlipIt項(xiàng)目中,android節(jié)點(diǎn)里面加入了一項(xiàng)設(shè)置,內(nèi)容如下:
- <android>
- <manifestAdditions>
- <![CDATA[<manifest>
- <uses-permission android:name="android.permission.INTERNET"/>
- </manifest>]]>
- </manifestAdditions>
- </android>
manifestAdditions節(jié)點(diǎn),顧名思義,是對(duì)manifest文件的補(bǔ)充,放入manifest中的內(nèi)容必須符合AndroidManifest.xml的格式。其中的uses-permission節(jié)點(diǎn)即權(quán)限聲明類型,對(duì)應(yīng)的權(quán)限名稱為android.permission.INTERNET,表示訪問(wèn)網(wǎng)絡(luò)的權(quán)限。如果沒(méi)有添加網(wǎng)絡(luò)訪問(wèn)權(quán)限的聲明,所有對(duì)外部的HTTP請(qǐng)求都將失敗。
AIR支持以下幾種權(quán)限設(shè)置:
android.permission.INTERNET:訪問(wèn)網(wǎng)絡(luò)。
android.permission.WRITE_EXTERNAL_STORAGE:外部存儲(chǔ)設(shè)備(即SD卡)的寫權(quán)限。
android.permission.READ_PHONE_STATE:在通話時(shí)調(diào)節(jié)音量。
android.permission.ACCESS_FINE_LOCATION:通過(guò)GPS設(shè)備獲取位置信息。
android.permission.ACCESS_COARSE_LOCATION:通過(guò)網(wǎng)絡(luò)信號(hào)獲取位置信息。
android.permission.CAMERA:使用攝像頭。
android.permission.RECORD_AUDIO:使用麥克風(fēng)。
android.permission.DISABLE_KEYGUARD:禁用鍵盤鎖。
android.permission.WAKE_LOCK:禁止自動(dòng)休眠。
android.permission.ACCESS_NETWORK_STATE:訪問(wèn)網(wǎng)絡(luò)狀態(tài)。
android.permission.ACCESS_WIFI_STATE:訪問(wèn)WI-FI狀態(tài)。
如果程序中用到多項(xiàng)權(quán)限,則一一列在manifest節(jié)點(diǎn)下。