在 android 平台上,可以使用應用程式描述符的 android 元素將資訊新增到 android 應用程式清單,該清單是 android 作業系統使用的應用程式屬性檔案。建立 apk 包時,adt 會自動生成 android manifest.xml 檔案。air 會將幾個屬性設定為某些功能執行所需要的值。在 air 應用程式描述符的 android 部分設定的任何其他屬性都會新增到 manifest.xml 檔案的相應部分。
注: 對於大多數 air 應用程式,您必須在
android 元素內設定應用程式所需的 android 許可權,但通常不需要設定其他任何屬性。
只能設定形式為字串、整數或布林值的屬性。不支援對應用程式包中的資源的引用進行設定。
注: 執行時需要的最低 sdk 版本應不低於 14。如果想建立僅適用於更高版本的應用程式,應確保 manifest 包含
並指定正確的版本。
air 會在生成的 android 清單文件中設定多個清單專案,以確保應用程式和執行時功能正確執行。您不能定義以下設定:
manifest 元素
不能設定 manifest 元素的以下屬性:
activity 元素
不能設定主 activity 元素的以下屬性:
android 安全模型需要每個應用程式都請求許可權,以便使用在安全性或隱私保護方面有作用的功能。打包應用程式時必須指定這些許可權,並且不能在執行時進行更改。安裝應用程式時,android 作業系統會通知使用者應用程式正在請求哪些許可權。如果沒有請求某項功能需要的許可權,當應用程式訪問該功能時,android 作業系統可能會引發異常,但並非一定會引發異常。執行時會將異常傳遞給應用程式。在無提示失敗情況下,許可權失敗訊息會新增到 android 系統日誌。
在 air 中,可以在應用程式描述符的 android 元素內指定 android 許可權。以下格式用於新增許可權(其中 permission_name 是 android 許可權的名稱):
manifest 元素內的 uses-permissions 語句會直接新增到 android 清單文件。]]>
以下是使用各種 air 功能需要的許可權:
access_coarse_location
允許應用程式通過 geolocation 類訪問 wifi 和移動**網路位置資料。
access_fine_location
允許應用程式通過 geolocation 類訪問 gps 資料。
access_network_state 和 access_wifi_state
允許應用程式通過 networkinfo 類訪問網路資訊。
camera
允許應用程式訪問攝像頭。
注: 當您請求使用攝像頭功能的許可權時,android 會假設應用程式也需要攝像頭。如果攝像頭是應用程式的可選功能,應該將
uses-feature 元素新增到攝像頭清單中,並將需要的屬性設定為
false。請參閱
android 相容性篩選。
internet
允許應用程式提出網路請求。也允許遠端除錯。
read_phone_state
record_audio
允許應用程式訪問麥克風。
wake_lock 和 disable_keyguard
允許應用程式使用 systemidlemode 類設定阻止裝置休眠。
write_external_storage
允許應用程式寫入裝置上的外部儲存卡。
例如,若要為會需要每種許可權的應用程式設定該許可權,可以將以下內容新增到應用程式描述符:
]]>
可以使用自定義 uri 方案從網頁或本機 android 應用程式啟動 air 應用程式。自定義 uri 支援依賴於 android 清單中指定的方法濾鏡,因此在其他平台上不能使用此技術。
若要使用自定義 uri,請將方法濾鏡新增到應用程式描述符的 區塊內。必須指定以下示例中的兩個 intent-filter 元素。編輯 語句以反映自定義方案的 uri 字串。
方法濾鏡會通知 android 作業系統可以使用您的應用程式執行指定操作。對於自定義 uri 而言,這意味著使用者單擊了使用該 uri 方案的鏈結(瀏覽器不知道該如何處理)。]]>
注: stagewebview 例項中的鏈結無法開啟使用自定義 uri 方案的 url。
android 作業系統使用應用程式清單檔案中的大量元素來確定應用程式與指定裝置是否相容。可以選擇將此資訊新增到清單中。如果不包括這些元素,則可以將您的應用程式安裝在任何 android 裝置上。但是,它可能不會在任何 android 裝置上都正常執行。例如,攝像頭應用程式在沒有攝像頭的**上將沒有什麼用處。
可以用於過濾的 android 清單標籤包括:
攝像頭應用程式
如果為應用程式請求攝像頭許可權,android 會假設應用程式需要所有可用的攝像頭功能,包括自動聚焦和閃光。如果應用程式不需要所有攝像頭功能,或者如果攝像頭是可選功能,則應對攝像頭的各個 uses-feature 元素進行設定以指示這些功能是可選的。否則,使用缺少某項功能或根本沒有攝像頭的裝置的使用者將無法找到 android market 上的應用程式。
以下示例說明了如何為攝像頭請求許可權,以及如何將所有攝像頭功能設定為可選:
]]>
錄音應用程式
如果您請求錄音許可權,則 android 還會假設該應用程式需要麥克風。如果錄音是您的應用程式的乙個可選功能,則可以新增 uses-feature 標籤以指定不需要麥克風。否則,使用不帶麥克風裝置的使用者在 android market 上將找不到您的應用程式。
下面的例子說明了如何請求使用麥克風的許可權,同時仍然使麥克風硬體處於可選狀態:
]]>
通過將 android manifest 元素的 installlocation 屬性設為 auto 或 preferexternal,您可以允許將應用程式安裝或移動到外部儲存卡上:
]]>android 作業系統不保證您的應用程式會安裝到外部記憶體上。使用者也可以使用系統設定應用程式將應用程式在內部與外部記憶體之間進行移動。
即使安裝到外部記憶體,應用程式快取和使用者資料(如應用程式儲存目錄的內容、共享物件和臨時檔案)仍會儲存在內部記憶體上。若要避免使用太多的內部記憶體,對於要儲存到應用程式儲存目錄的資料應有所選擇。應使用file.userdirectory 或 file.documentsdirectory 位置(這兩者都會對映到 android 上 sd 卡的根目錄)將大量資料儲存到 sdcard 上。
在 air 3 和更高版本中,執行時將顯示設定為呈現 32 位顏色。在早期版本的 air 中,執行時使用 16 位顏色。您可通過使用應用程式描述符中的 元素,指示執行時使用 16 位顏色:
16bit使用 16 位顏色深度可提高渲染效能,但是會犧牲顏色保真度。...
Android 配置檔案鎖設定
本文內容 何時該使用讀寫鎖.讀寫鎖的寫法.理解讀寫鎖和執行緒互斥的區別。複習 同步化的概念 當乙個方法或 塊被宣告成synchronized,要執行此 必須先取得乙個物件例項或this的鎖定,這個鎖定要在 synchronized修飾的方法或 塊執行完後才能釋放掉 無論這段 是怎樣返回的,是正常執行...
設定介面android 設定介面
最近研究設定介面,稍微總結一下,以後繼續補充 android供給了方便的安排設定介面的介面,不得不真心說個贊。對基本功能設計者都斟酌到了,極大方便了開發者,如果對設定介面沒有什麼特殊需求,那麼這些介面完全能滿足你,閒話少說,直接上案例。如果只是簡單設定,那麼完全可以在乙個xml檔案中布局。而且設計者...
Android 設定鈴聲
最主要的 ringtonemanager.setactualdefaultringtoneuri this,ringtonemanager.type ringtone,newuri 第乙個引數表示上下文 第二個引數表示設定的鈴聲狀態,第三個表示當前的歌曲uri。如果傳進來的歌曲路徑不存在,則直接呼叫...