manifest
action
<action android:name="string" />
- <intent-filter>元素必須包含一個(gè)或多個(gè)<action>元素。如果intent過(guò)濾器中沒(méi)有<action>元素,則過(guò)濾器不接受任何Intent對(duì)象土陪。
activity
<activity android:allowEmbedded=["true" | "false"]
android:allowTaskReparenting=["true" | "false"]
android:alwaysRetainTaskState=["true" | "false"]
android:autoRemoveFromRecents=["true" | "false"]
android:banner="drawable resource"
android:clearTaskOnLaunch=["true" | "false"]
android:configChanges=["mcc", "mnc", "locale",
"touchscreen", "keyboard", "keyboardHidden",
"navigation", "screenLayout", "fontScale",
"uiMode", "orientation", "screenSize",
"smallestScreenSize"]
android:documentLaunchMode=["intoExisting" | "always" |
"none" | "never"]
android:enabled=["true" | "false"]
android:excludeFromRecents=["true" | "false"]
android:exported=["true" | "false"]
android:finishOnTaskLaunch=["true" | "false"]
android:hardwareAccelerated=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:launchMode=["standard" | "singleTop" |
"singleTask" | "singleInstance"]
android:maxRecents="integer"
android:multiprocess=["true" | "false"]
android:name="string"
android:noHistory=["true" | "false"]
android:parentActivityName="string"
android:permission="string"
android:process="string"
android:relinquishTaskIdentity=["true" | "false"]
android:resizeableActivity=["true" | "false"]
android:screenOrientation=["unspecified" | "behind" |
"landscape" | "portrait" |
"reverseLandscape" | "reversePortrait" |
"sensorLandscape" | "sensorPortrait" |
"userLandscape" | "userPortrait" |
"sensor" | "fullSensor" | "nosensor" |
"user" | "fullUser" | "locked"]
android:stateNotNeeded=["true" | "false"]
android:supportsPictureInPicture=["true" | "false"]
android:taskAffinity="string"
android:theme="resource or theme"
android:uiOptions=["none" | "splitActionBarWhenNarrow"]
android:windowSoftInputMode=["stateUnspecified",
"stateUnchanged", "stateHidden",
"stateAlwaysHidden", "stateVisible",
"stateAlwaysVisible", "adjustUnspecified",
"adjustResize", "adjustPan"] >
. . .
</activity>
activity-alias
application
<application android:allowTaskReparenting=["true" | "false"]
android:allowBackup=["true" | "false"]
android:allowClearUserData=["true" | "false"]
android:backupAgent="string"
android:backupInForeground=["true" | "false"]
android:banner="drawable resource"
android:debuggable=["true" | "false"]
android:description="string resource"
android:directBootAware=["true" | "false"]
android:enabled=["true" | "false"]
android:extractNativeLibs=["true" | "false"]
android:fullBackupContent="string"
android:fullBackupOnly=["true" | "false"]
android:hasCode=["true" | "false"]
android:hardwareAccelerated=["true" | "false"]
android:icon="drawable resource"
android:isGame=["true" | "false"]
android:killAfterRestore=["true" | "false"]
android:largeHeap=["true" | "false"]
android:label="string resource"
android:logo="drawable resource"
android:manageSpaceActivity="string"
android:name="string"
android:networkSecurityConfig="xml resource"
android:permission="string"
android:persistent=["true" | "false"]
android:process="string"
android:restoreAnyVersion=["true" | "false"]
android:requiredAccountType="string"
android:resizeableActivity=["true" | "false"]
android:restrictedAccountType="string"
android:supportsRtl=["true" | "false"]
android:taskAffinity="string"
android:testOnly=["true" | "false"]
android:theme="resource or theme"
android:uiOptions=["none" | "splitActionBarWhenNarrow"]
android:usesCleartextTraffic=["true" | "false"]
android:vmSafeMode=["true" | "false"] >
. . .
</application>
allowTaskReparenting
allowBackup
- 是否允許應(yīng)用程序參與備份和還原基礎(chǔ)結(jié)構(gòu). 如果將此屬性設(shè)置為false募闲,則不會(huì)執(zhí)行應(yīng)用程序的備份或恢復(fù),即使是通過(guò)完整的系統(tǒng)備份堡僻,否則會(huì)導(dǎo)致所有應(yīng)用程序數(shù)據(jù)通過(guò)adb保存。默認(rèn)值為 true.
allowClearUserData
- 是否允許應(yīng)用程序重置用戶數(shù)據(jù)疫剃。此數(shù)據(jù)包括標(biāo)志 - 例如用戶是否已閱讀介紹性工具提示 - 以及用戶可自定義的設(shè)置和首選項(xiàng)钉疫。此屬性的默認(rèn)值為true。
注意:只有屬于系統(tǒng)映像的應(yīng)用程序才能顯式聲明此屬性巢价。第三方應(yīng)用無(wú)法在其清單文件中包含此屬性牲阁。
更多消息,查看:Data backup overview
backupAgent
實(shí)現(xiàn)應(yīng)用程序 backup agent 類名壤躲,BackupAgent 的子類城菊。屬性值應(yīng)該是完全限定的類名(例如,“com.example.project.MyBackupAgent”)碉克。但是凌唬,作為簡(jiǎn)寫,如果名稱的第一個(gè)字符是句點(diǎn)(例如漏麦,“客税。MyBackupAgent”)况褪,則它將附加到<manifest>元素中指定的包名稱。
沒(méi)有默認(rèn)值更耻。必須指定名稱测垛。
backupInForeground
表示即使應(yīng)用程序處于前臺(tái)等效(foreground-equivalent)狀態(tài),也可以在此應(yīng)用程序上執(zhí)行自動(dòng)備份操作秧均。系統(tǒng)在自動(dòng)備份操作期間關(guān)閉應(yīng)用程序食侮,因此請(qǐng)謹(jǐn)慎使用此屬性。將此標(biāo)志設(shè)置為true可以在應(yīng)用處于活動(dòng)狀態(tài)時(shí)影響應(yīng)用行為目胡。
默認(rèn)值為 false锯七,這意味著 OS 將避免在應(yīng)用程序在前臺(tái)運(yùn)行時(shí)備份應(yīng)用程序(例如,通過(guò)startForeground()狀態(tài)的 Service 主動(dòng)播放音樂(lè)的音樂(lè)應(yīng)用程序)讶隐。
banner
A drawable resource providing an extended graphical banner for its associated item(提供其關(guān)聯(lián)項(xiàng)目的擴(kuò)展圖形橫幅).與<application>標(biāo)簽一起使用可為所有 Activity 提供默認(rèn)橫幅起胰,或使用 <activity> 標(biāo)簽為特定 Activity 提供橫幅久又。
系統(tǒng)使用 banner (橫幅) 來(lái)表示Android TV主屏幕中的應(yīng)用程序巫延。由于 banner (橫幅)僅顯示在 home screen 中,因此只應(yīng)由 Application 指定的具有處理 CATEGORY_LEANBACK_LAUNCHER intent 的 Activity地消。
必須將此屬性設(shè)置為對(duì)包含圖像的可繪制資源的引用(例如“@drawable/banner”)炉峰。沒(méi)有默認(rèn)橫幅。
有關(guān)詳細(xì)信息脉执,請(qǐng)參閱Provide a home screen banner中的提供主屏幕橫幅疼阔。
debuggable
- 是否可以調(diào)試應(yīng)用程序,即使在 user mode 下在設(shè)備上運(yùn)行 - 如果可以半夷,則為“true”婆廊,否則為“false”。默認(rèn)值為“false”巫橄。
description
- 有關(guān)應(yīng)用程序的用戶可讀文本, 比應(yīng)用程序標(biāo)簽更長(zhǎng)淘邻,更具描述性。必須將該值設(shè)置為對(duì)字符串資源的引用湘换。與標(biāo)簽不同宾舅,它不能是原始字符串。沒(méi)有默認(rèn)值彩倚。
directBootAware
- 應(yīng)用程序是否可以直接啟動(dòng);也就是說(shuō)筹我,它是否可以在用戶解鎖設(shè)備之前運(yùn)行。如果您正在使用 Application 的自定義子類帆离,并且應(yīng)用程序中的任何組件可以直接啟動(dòng)蔬蕊,那么您的整個(gè)自定義應(yīng)用程序?qū)⒈灰暈榭芍苯訂?dòng)。
注意:在直接引導(dǎo)期間哥谷,您的應(yīng)用程序只能訪問(wèn)存儲(chǔ)在設(shè)備保護(hù)存儲(chǔ)中的數(shù)據(jù)岸夯。
- 默認(rèn)值為“false”概而。
enabled
Android系統(tǒng)是否可以實(shí)例化應(yīng)用程序的組件 - 如果可以,則為“true”囱修,否則為“false”赎瑰。如果值為“true”,則每個(gè)組件的enabled屬性確定是否啟用該組件破镰。如果值為“false”餐曼,則它將覆蓋特定于組件的值;所有組件都被禁用。
默認(rèn)值是true”鲜漩。
extractNativeLibs
package installer 是否可以從 APK 中提取 native libraries 到 filesystem源譬。如果設(shè)置為false,那么您的 native libraries 必須在 APK 中 page aligned 和 stored uncompressed. 不需要更改代碼孕似,因?yàn)殒溄悠髟谶\(yùn)行時(shí)直接從APK加載庫(kù)踩娘。
The default value is "true".
fullBackupContent
此屬性指向包含 Auto Backup 的 full backup rules 的XML文件。這些規(guī)則確定要備份的文件喉祭。Auto Backup 的更多信息养渴,查看 XML Config Syntax
此屬性是可選的。如果未指定泛烙,則默認(rèn)情況下理卑,“自動(dòng)備份”包含應(yīng)用程序的大部分文件。更多信息查看 Files that are backed up
fullBackupOnly
此屬性指示是否在可用的設(shè)備上使用 Auto Backup蔽氨。如果設(shè)置為true藐唠,那么當(dāng)您的應(yīng)用安裝在運(yùn)行Android 6.0(API級(jí)別23)或更高版本的設(shè)備上時(shí),它會(huì)執(zhí)行自動(dòng)備份鹉究。在較舊的設(shè)備上宇立,您的應(yīng)用會(huì)忽略此屬性并執(zhí)行 Key/Value Backups。
The default value is "false".
hasCode
Whether or not the application contains any code — "true" if it does, and "false" if not. 當(dāng)值為“false”時(shí)自赔,系統(tǒng)在啟動(dòng)組件時(shí)不會(huì)嘗試加載任何應(yīng)用程序代碼妈嘹。默認(rèn)值是true”。
例如匿级,如果您的應(yīng)用支持 Google Play 的 動(dòng)態(tài)傳送蟋滴,并且包含不生成任何DEX文件(這是針對(duì)Android平臺(tái)優(yōu)化的字節(jié)碼)的動(dòng)態(tài)功能模塊,則需要在模塊的清單文件中將此屬性設(shè)置為false痘绎。 否則津函,您可能會(huì)遇到運(yùn)行時(shí)錯(cuò)誤。
hardwareAccelerated
是否應(yīng)為此應(yīng)用程序中的所有 Activity 和 View 啟用硬件加速渲染 - 如果應(yīng)啟用則為“true”孤页,否則為“false”尔苦。如果您將minSdkVersion或targetSdkVersion設(shè)置為“14”或更高,則默認(rèn)值為“true”;否則,它是“false”允坚。從Android 3.0(API級(jí)別11)開(kāi)始魂那,應(yīng)用程序可以使用硬件加速的OpenGL渲染器,以提高許多常見(jiàn)2D圖形操作的性能稠项。啟用硬件加速渲染器后涯雅,Canvas,Paint展运,Xfermode活逆,ColorFilter,Shader和Camera中的大多數(shù)操作都會(huì)加速拗胜。即使對(duì)于未明確使用框架的OpenGL庫(kù)的應(yīng)用程序蔗候,這也可以實(shí)現(xiàn)更平滑的動(dòng)畫,更平滑的滾動(dòng)以及更好的響應(yīng)性埂软。
請(qǐng)注意锈遥,并非所有OpenGL 2D操作都會(huì)加速。如果啟用硬件加速渲染器勘畔,請(qǐng)測(cè)試應(yīng)用程序以確保它可以無(wú)錯(cuò)誤地使用渲染器所灸。
For more information, read the Hardware Acceleration guide.
icon
整個(gè)應(yīng)用程序的圖標(biāo),以及每個(gè)應(yīng)用程序組件的默認(rèn)圖標(biāo)咖杂。查看<activity>庆寺,<activity-alias>,<service>诉字,<receiver>和<provider>元素的各個(gè)圖標(biāo)屬性。
必須將此屬性設(shè)置為對(duì)包含圖像的可繪制資源的引用(例如“@drawable/icon”)知纷。沒(méi)有默認(rèn)圖標(biāo)壤圃。
isGame
該應(yīng)用程序是否是游戲。系統(tǒng)可以將分類為游戲的應(yīng)用程序組合在一起琅轧,或者將它們與其他應(yīng)用程序分開(kāi)顯示伍绳。
The default is false.
killAfterRestore
在全系統(tǒng)還原操作期間,該應(yīng)用程序的設(shè)置已恢復(fù)后乍桂,是否應(yīng)終止該應(yīng)用程序冲杀。單包恢復(fù)操作永遠(yuǎn)不會(huì)導(dǎo)致應(yīng)用程序關(guān)閉。首次設(shè)置電話時(shí)睹酌,全系統(tǒng)還原操作通常只發(fā)生一次权谁。第三方應(yīng)用程序通常不需要使用此屬性。
默認(rèn)值為true憋沿,這意味著在應(yīng)用程序在完整系統(tǒng)還原期間處理完數(shù)據(jù)后旺芽,它將終止。
largeHeap
是否應(yīng)使用大型Dalvik堆創(chuàng)建應(yīng)用程序的進(jìn)程。這適用于為應(yīng)用程序創(chuàng)建的所有進(jìn)程采章。它僅適用于加載到進(jìn)程中的第一個(gè)應(yīng)用程序;如果您使用共享用戶ID以允許多個(gè)應(yīng)用程序使用進(jìn)程运嗜,則它們都必須始終如一地使用此選項(xiàng),否則它們將具有不可預(yù)測(cè)的結(jié)果悯舟。
大多數(shù)應(yīng)用程序不應(yīng)該需要這個(gè)担租,而應(yīng)該專注于減少其總體內(nèi)存使用量以提高性能。啟用此功能也不能保證可用內(nèi)存的固定增加抵怎,因?yàn)槟承┰O(shè)備受其總可用內(nèi)存的限制翩活。
要在運(yùn)行時(shí)查詢可用的內(nèi)存大小,請(qǐng)使用方法 getMemoryClass() 或 getLargeMemoryClass()便贵。
label
作為整體的應(yīng)用程序的用戶可讀標(biāo)簽菠镇,以及每個(gè)應(yīng)用程序組件的默認(rèn)標(biāo)簽。請(qǐng)參閱<activity>承璃,<activity-alias>利耍,<service>,<receiver>和<provider>元素的各個(gè)標(biāo)簽屬性盔粹。
應(yīng)將標(biāo)簽設(shè)置為對(duì)字符串資源的引用隘梨,以便它可以像用戶界面中的其他字符串一樣進(jìn)行本地化。但是舷嗡,為了方便您開(kāi)發(fā)應(yīng)用程序轴猎,它也可以設(shè)置為原始字符串。
logo
- 整個(gè)應(yīng)用程序的徽標(biāo)进萄,以及 Activity 的默認(rèn)徽標(biāo)捻脖。必須將此屬性設(shè)置為對(duì)包含圖像的可繪制資源的引用(例如“@ drawable/logo”)。沒(méi)有默認(rèn)徽標(biāo)中鼠。
manageSpaceActivity
- 系統(tǒng)可以啟動(dòng)的Activity子類的完全限定名稱可婶,以允許用戶管理設(shè)備上應(yīng)用程序占用的內(nèi)存。還應(yīng)使用<activity>元素聲明活動(dòng)援雇。
name
為應(yīng)用程序?qū)崿F(xiàn)的Application子類的完全限定名稱矛渴。啟動(dòng)應(yīng)用程序進(jìn)程時(shí),將在任何應(yīng)用程序的組件之前實(shí)例化此類惫搏。
子類是可選的;大多數(shù)應(yīng)用程序不需要一個(gè)具温。在沒(méi)有子類的情況下,Android使用基本Application類的實(shí)例筐赔。
networkSecurityConfig
指定包含應(yīng)用程序的網(wǎng)絡(luò)安全配置的XML文件的名稱铣猩。該值必須是對(duì)包含配置的XML資源文件的引用。
此屬性已在API級(jí)別24中添加川陆。
permission
客戶端與應(yīng)用程序交互的必須具有的權(quán)限名稱剂习。此屬性是設(shè)置適用于所有應(yīng)用程序組件的權(quán)限的便捷方式蛮位。可以通過(guò)設(shè)置各個(gè)組件的權(quán)限屬性來(lái)覆蓋它鳞绕。
For more information on permissions, see the Permissions section in the introduction and another document, Security and Permissions.
persistent
- 應(yīng)用程序是否應(yīng)始終保持運(yùn)行 - 如果應(yīng)該失仁,則為“true”,否則為“false”们何。默認(rèn)值為“false”萄焦。應(yīng)用程序通常不應(yīng)設(shè)置此標(biāo)志;持久性模式僅適用于某些系統(tǒng)應(yīng)用程序。
process
應(yīng)該運(yùn)行應(yīng)用程序的所有組件的進(jìn)程的名稱冤竹。每個(gè)組件都可以通過(guò)設(shè)置自己的進(jìn)程屬性來(lái)覆蓋此默認(rèn)值拂封。
默認(rèn)情況下,Android會(huì)在第一個(gè)組件需要運(yùn)行時(shí)為應(yīng)用程序創(chuàng)建一個(gè)進(jìn)程鹦蠕。然后所有組件都在該過(guò)程中運(yùn)行冒签。默認(rèn)進(jìn)程的名稱與<manifest>元素設(shè)置的包名稱匹配。
通過(guò)將此屬性設(shè)置為與另一個(gè)應(yīng)用程序共享的進(jìn)程名稱钟病,您可以安排兩個(gè)應(yīng)用程序的組件在同一進(jìn)程中運(yùn)行 - 但前提是這兩個(gè)應(yīng)用程序還共享一個(gè)用戶ID并使用相同的證書進(jìn)行簽名萧恕。
如果分配給此屬性的名稱以冒號(hào)(':')開(kāi)頭,則在需要時(shí)會(huì)創(chuàng)建一個(gè)專用于應(yīng)用程序的新進(jìn)程肠阱。 如果進(jìn)程名稱以小寫字符開(kāi)頭票唆,則會(huì)創(chuàng)建該名稱的全局進(jìn)程。 可以與其他應(yīng)用程序共享全局進(jìn)程屹徘,從而減少資源使用走趋。
restoreAnyVersion
表示應(yīng)用程序已準(zhǔn)備好嘗試還原任何備份數(shù)據(jù)集,即使備份是由應(yīng)用程序的較新版本存儲(chǔ)而不是當(dāng)前安裝在設(shè)備上噪伊。將此屬性設(shè)置為true將允許備份管理器嘗試還原簿煌,即使版本不匹配表明數(shù)據(jù)不兼容也是如此。謹(jǐn)慎使用酥宴!
The default value of this attribute is false.
requiredAccountType
指定應(yīng)用程序運(yùn)行所需的帳戶類型啦吧。如果您的應(yīng)用需要帳戶,則此屬性的值必須與您的應(yīng)用使用的帳戶身份驗(yàn)證器類型(由AuthenticatorDescription定義)相對(duì)應(yīng)拙寡,例如“com.google”。
默認(rèn)值為null琳水,表示應(yīng)用程序可以在沒(méi)有任何帳戶的情況下工作肆糕。
由于受限制的配置文件當(dāng)前無(wú)法添加帳戶,因此指定此屬性會(huì)使您的應(yīng)用程序不受限制配置文件的影響在孝,除非您還聲明具有相同值的 android:restrictedAccountType诚啃。
警告:如果帳戶數(shù)據(jù)可能會(huì)泄露個(gè)人身份信息,請(qǐng)務(wù)必聲明此屬性并保留 android:restrictedAccountType null私沮,以便受限制的配置文件無(wú)法使用您的應(yīng)用訪問(wèn)屬于所有者用戶的個(gè)人信息始赎。
- This attribute was added in API level 18.
resizeableActivity
指定應(yīng)用程序是否支持多窗口顯示。您可以在<activity>或<application>元素中設(shè)置此屬性。
如果將此屬性設(shè)置為true造垛,則用戶可以在分屏和自由形式模式下啟動(dòng)活動(dòng)魔招。 如果將該屬性設(shè)置為false,則該活動(dòng)不支持多窗口模式五辽。 如果此值為false办斑,并且用戶嘗試以多窗口模式啟動(dòng)活動(dòng),則活動(dòng)將占據(jù)整個(gè)屏幕杆逗。
如果您的應(yīng)用面向API級(jí)別24或更高級(jí)別乡翅,但未指定此屬性的值,則該屬性的值默認(rèn)為true罪郊。
This attribute was added in API level 24.
restrictedAccountType
- 指定此應(yīng)用程序所需的帳戶類型蠕蚜,并指示允許受限制的配置文件訪問(wèn)屬于所有者用戶的此類帳戶。 如果您的應(yīng)用需要帳戶悔橄,并且允許受限制的個(gè)人資料訪問(wèn)主要用戶的帳戶靶累,則此屬性的值必須與您的應(yīng)用使用的帳戶身份驗(yàn)證器類型(由AuthenticatorDescription定義)相對(duì)應(yīng),例如“com.google”橄维。默認(rèn)值為null尺铣,表示應(yīng)用程序可以在沒(méi)有任何帳戶的情況下工作。
警告:指定此屬性允許受限制的配置文件將您的應(yīng)用與屬于所有者用戶的帳戶一起使用争舞,這可能會(huì)泄露個(gè)人身份信息凛忿。 如果帳戶可能會(huì)顯示個(gè)人詳細(xì)信息,則不應(yīng)使用此屬性竞川,而應(yīng)聲明 android:requiredAccountType 屬性店溢,以使您的應(yīng)用對(duì)受限制的配置文件不可用。
- This attribute was added in API level 18.
supportsRtl
聲明您的應(yīng)用程序是否愿意支持 right-to-left (RTL)布局委乌。如果設(shè)置為true且targetSdkVersion設(shè)置為17或更高床牧,則系統(tǒng)將激活并使用各種RTL API,以便您的應(yīng)用程序可以顯示RTL布局遭贸。如果設(shè)置為false或者targetSdkVersion設(shè)置為16或更低戈咳,則RTL API將被忽略或無(wú)效,并且無(wú)論與用戶的Locale選項(xiàng)關(guān)聯(lián)的布局方向如何壕吹,您的應(yīng)用都將表現(xiàn)相同(您的布局將始終保持不變 left-to-right)著蛙。
The default value of this attribute is false.
This attribute was added in API level 17.
taskAffinity
一個(gè)關(guān)聯(lián)名稱,適用于應(yīng)用程序中的所有活動(dòng)耳贬,但與其自己的taskAffinity屬性設(shè)置不同關(guān)聯(lián)的活動(dòng)除外踏堡。有關(guān)更多信息,請(qǐng)參閱該屬性咒劲。
默認(rèn)情況下顷蟆,應(yīng)用程序中的所有活動(dòng)共享相同的關(guān)聯(lián)诫隅。該關(guān)聯(lián)的名稱與<manifest>元素設(shè)置的包名稱相同。
testOnly
- 指示此應(yīng)用程序是否僅用于測(cè)試目的帐偎。 例如逐纬,它可能會(huì)暴露自身之外的功能或數(shù)據(jù),這會(huì)導(dǎo)致安全漏洞肮街,但對(duì)測(cè)試很有用风题。 這種APK只能通過(guò)adb安裝 - 您無(wú)法將其發(fā)布到Google Play。
theme
- 對(duì)樣式資源的引用嫉父,該資源定義應(yīng)用程序中所有活動(dòng)的默認(rèn)主題沛硅。單個(gè)活動(dòng)可以通過(guò)設(shè)置自己的主題屬性來(lái)覆蓋默認(rèn)值。有關(guān)更多信息绕辖,請(qǐng)參閱樣式和主題開(kāi)發(fā)人員指南摇肌。
uiOptions
- Extra options for an activity's UI.
- Must be one of the following values.
Value | Description |
---|---|
"none" | No extra UI options. This is the default. |
"splitActionBarWhenNarrow" | 當(dāng)受限于水平空間時(shí)(例如在手機(jī)上處于縱向模式時(shí)),在屏幕底部添加一個(gè)條以在應(yīng)用欄(也稱為操作欄)中顯示操作項(xiàng)仪际。應(yīng)用欄分為頂部導(dǎo)航部分和操作項(xiàng)底部欄围小,而不是顯示在屏幕頂部的應(yīng)用欄中的少量操作項(xiàng)。這樣可以確保合理的空間不僅可用于操作項(xiàng)树碱,還可用于頂部的導(dǎo)航和標(biāo)題元素肯适。菜單項(xiàng)不會(huì)分成兩個(gè)欄;他們總是一起出現(xiàn)。 |
For more information about the app bar, see the Adding the App Bar training class.
This attribute was added in API level 14.
usesCleartextTraffic
指示應(yīng)用程序是否打算使用明文網(wǎng)絡(luò)流量成榜,例如明文HTTP框舔。默認(rèn)值是true”。
當(dāng)屬性設(shè)置為“false”時(shí)赎婚,平臺(tái)組件(例如刘绣,HTTP和FTP堆棧,DownloadManager挣输,MediaPlayer)將拒絕應(yīng)用程序使用明文流量的請(qǐng)求纬凤。強(qiáng)烈建議第三方 libraries 遵守此設(shè)置。避免明文流量的關(guān)鍵原因是缺乏機(jī)密性撩嚼,真實(shí)性和防止篡改:網(wǎng)絡(luò)攻擊者可以竊聽(tīng)傳輸?shù)臄?shù)據(jù)并在不被檢測(cè)的情況下對(duì)其進(jìn)行修改停士。
由于Android應(yīng)用程序提供了一定的訪問(wèn)級(jí)別,因此不可能阻止Android應(yīng)用程序的所有明文通信完丽。例如向瓷,套接字API不會(huì)因?yàn)闊o(wú)法確定其流量是否在明文中而使用此標(biāo)志。然而舰涌,大多數(shù)來(lái)自應(yīng)用程序的網(wǎng)絡(luò)流量是由更高級(jí)別的網(wǎng)絡(luò)堆棧/組件處理的,這些組件可以通過(guò)從 ApplicationInfo.flag 或NetworkSecurityPolicy.isCleartextTrafficPermitted() 中讀取這個(gè)標(biāo)志來(lái)表示這個(gè)標(biāo)志.
注意:WebView尊重針對(duì)API級(jí)別26及更高級(jí)別的應(yīng)用程序的此屬性你稚。
在應(yīng)用程序開(kāi)發(fā)期間瓷耙,StrictMode可用于識(shí)別來(lái)自應(yīng)用程序的任何明文流量:請(qǐng)參閱 StrictMode.VmPolicy.Builder.detectCleartextNetwork()
This attribute was added in API level 23.
This flag is ignored on Android 7.0 (API level 24) and above if an Android Network Security Config is present.
vmSafeMode
指示應(yīng)用程序是否希望虛擬機(jī)(VM)以安全模式運(yùn)行朱躺。默認(rèn)值為“false”。
此屬性是在API級(jí)別8中添加的搁痛,其中值“true”禁用了Dalvik實(shí)時(shí)(JIT)編譯器长搀。
此屬性在API級(jí)別22中進(jìn)行了調(diào)整,其中值“true”禁用了ART提前(AOT)編譯器鸡典。
category
<category android:name="string" />
注意:要接收隱式意圖源请,必須在 intent filter 中包含 CATEGORY_DEFAULT 類別。 方法startActivity()和startActivityForResult()將所有意圖視為已聲明 CATEGORY_DEFAULT 類別彻况。 如果您未在意圖過(guò)濾器中聲明它谁尸,則不會(huì)將隱式意圖解析為您的活動(dòng)。
<compatible-screens>
<compatible-screens>
<screen android:screenSize=["small" | "normal" | "large" | "xlarge"]
android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"
| "280" | "360" | "420" | "480" | "560" ] />
...
</compatible-screens>
指定與應(yīng)用程序兼容的每個(gè)屏幕配置纽甘。 清單中只允許一個(gè)<compatible-screens>元素實(shí)例良蛮,但它可以包含多個(gè)<screen>元素。 每個(gè)<screen>元素指定應(yīng)用程序兼容的特定屏幕 size-density 組合悍赢。
Android系統(tǒng)不會(huì)讀取<compatible-screens>清單元素(既不在安裝時(shí)也不在運(yùn)行時(shí))决瞳。此元素僅供參考,可供外部服務(wù)(如Google Play)使用左权,以更好地了解應(yīng)用程序與特定屏幕配置的兼容性皮胡,并為用戶啟用過(guò)濾。未在此元素中聲明的任何屏幕配置都是與應(yīng)用程序不兼容的屏幕赏迟。因此屡贺,外部服務(wù)(例如Google Play)不應(yīng)向具有此類屏幕的設(shè)備提供應(yīng)用程序。
警告:通常瀑梗,您不應(yīng)使用此清單元素烹笔。使用此元素可以顯著減少應(yīng)用程序的潛在用戶群,如果他們的設(shè)備具有您未列出的屏幕配置抛丽,則不允許用戶安裝應(yīng)用程序谤职。當(dāng)應(yīng)用程序絕對(duì)不適用于特定的屏幕配置時(shí),您應(yīng)該僅將其用作最后的手段亿鲜。您應(yīng)該遵循支持[多個(gè)屏幕的指南](https://developer.android.com/guide/practices/screens_support.html)允蜈,而不是使用此元素,以使用不同的屏幕尺寸和密度的替代布局和位圖為多個(gè)屏幕提供可擴(kuò)展的支持蒿柳。
如果只想為應(yīng)用程序設(shè)置最小屏幕大小饶套,則應(yīng)使用<supports-screens>元素。 例如垒探,如果您希望應(yīng)用程序僅適用于大型和超大屏幕設(shè)備妓蛮,則<supports-screens>元素允許您聲明您的應(yīng)用程序不支持小屏幕尺寸和普通屏幕尺寸。 外部服務(wù)(例如Google Play)會(huì)相應(yīng)地過(guò)濾您的應(yīng)用程序圾叼。 您還可以使用<supports-screens>元素聲明系統(tǒng)是否應(yīng)針對(duì)不同的屏幕大小調(diào)整應(yīng)用程序的大小蛤克。
另請(qǐng)參閱Google Play上的過(guò)濾器文檔捺癞,詳細(xì)了解Google Play如何使用此清單元素和其他清單元素過(guò)濾應(yīng)用程序。
screen
- 指定與應(yīng)用程序兼容的單個(gè)屏幕配置构挤。 必須至少將此元素的一個(gè)實(shí)例放在<compatible-screens>元素內(nèi)髓介。此元素必須包含 android:screenSize 和 android:screenDensity 屬性(如果不聲明這兩個(gè)屬性,則忽略該元素)筋现。
screenSize
需要唐础。指定此屏幕配置的屏幕大小。
-
Accepted values:
- small
- normal
- large
- xlarge
screenDensity
需要矾飞。指定此屏幕配置的屏幕密度一膨。
-
Accepted values:
- "ldpi" (approximately 120 dpi)
- "mdpi" (approximately 160 dpi)
- "hdpi" (approximately 240 dpi)
- "xhdpi" (approximately 320 dpi)
- "280"
- "360"
- "420"
- "480"
- "560"
data
<data android:scheme="string"
android:host="string"
android:port="string"
android:path="string"
android:pathPattern="string"
android:pathPrefix="string"
android:mimeType="string" />
contain in
<intent-filter>
description
添加到 intent filter 的特定的數(shù)據(jù)。規(guī)范可以只是數(shù)據(jù)類型(mimeType屬性)凰慈,只是URI汞幢,或者是 data type 和 URI 的組合。 URI由每個(gè)部分的單獨(dú)屬性指定:
<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>]
指定URL格式的這些屬性是可選的微谓,但也是相互依賴的:
- 如果未為 intent filter 指定方案森篷,則忽略所有其他URI屬性。
- 如果未為 filter 指定 host豺型,則會(huì)忽略 port屬性 和所有 path屬性仲智。
同一<intent-filter>元素中包含的所有<data>元素都對(duì)同一個(gè) filter 有貢獻(xiàn)。那么姻氨,例如钓辆,以下 filter 規(guī)范:
<intent-filter . . . >
<data android:scheme="something" android:host="project.example.com" />
. . .
</intent-filter>
相當(dāng)于這一個(gè):
<intent-filter . . . >
<data android:scheme="something" />
<data android:host="project.example.com" />
. . .
</intent-filter>
您可以在<intent-filter>中放置任意數(shù)量的<data>元素,為其提供多個(gè)數(shù)據(jù)選項(xiàng)肴焊。它的所有屬性都沒(méi)有默認(rèn)值前联。
有關(guān) intent filter 如何工作的信息,包括Intent對(duì)象如何與 filter 匹配的規(guī)則娶眷,可以在另一個(gè)文檔 Intents and Intent Filters中找到似嗤。另請(qǐng)參閱清單文件概述中的“意圖過(guò)濾器”部分。
attributes
scheme
The scheme part of a URI.這是指定URI的最小基本屬性;必須為 filter 設(shè)置至少一個(gè)scheme屬性届宠,否則其他URI屬性都不會(huì)有意義烁落。
schmem 由沒(méi)有 尾部冒號(hào) 指定(例如,http豌注,而不是http:)伤塌。
If the filter has a data type set (the mimeType attribute) but no scheme, the content: and file: schemes are assumed.
注意:與 RFC 不同,Android Framework 中的 Scheme 匹配區(qū)分大小寫轧铁。因此每聪,您應(yīng)始終使用小寫字母指定 Scheme。
host
The host part of a URI authority.如果 filter 的 scheme 屬性未指定,host 屬性將沒(méi)有任何意義熊痴。要匹配多個(gè)子域他爸,請(qǐng)使用星號(hào)(*)匹配主機(jī)中的零個(gè)或多個(gè)字符。例如果善,host *.google.com 匹配 www.google.com, .google.com 和 developer.google.com.
星號(hào)必須是主機(jī)屬性的第一個(gè)字符。例如系谐,主機(jī)google.co.* 無(wú)效巾陕,因?yàn)樾翘?hào)通配符不是第一個(gè)字符。
注意:與 RFC 不同纪他,Android Framework 中的 host 匹配區(qū)分大小寫鄙煤。因此,您應(yīng)始終使用小寫字母指定 Scheme茶袒。
port
- The port part of a URI authority. 如果 filter 沒(méi)有指定 scheme 和 host梯刚, 則此屬性沒(méi)有意義。
path
pathPrefix
pathPattern
URI 的 path 必須以 / 開(kāi)頭薪寓。path屬性指定與Intent對(duì)象中的完整路徑匹配的完整路徑亡资。pathPrefix屬性指定僅與Intent對(duì)象中路徑的初始部分匹配的部分路徑。pathPattern屬性指定與Intent對(duì)象中的完整路徑匹配的完整路徑向叉,但它可以包含以下通配符:
- 星號(hào)('*')匹配前一個(gè)字符的0到多次出現(xiàn)的序列锥腻。
- 星號(hào)后跟一個(gè)句點(diǎn)(“.*”)匹配0到多個(gè)字符的任何序列。
因?yàn)楫?dāng)從XML讀取字符串(在將其解析為模式之前)時(shí)母谎,''被用作轉(zhuǎn)義字符瘦黑,所以您需要雙重轉(zhuǎn)義:例如,文字'*'將被寫為“\ *“和字面 '\ ' 將寫成”\ \ \ \ “奇唤。這與在Java代碼中構(gòu)造字符串時(shí)需要編寫的內(nèi)容基本相同幸斥。
有關(guān)這三種模式的更多信息,請(qǐng)參閱PatternMatcher類中的PATTERN_LITERAL咬扇,PATTERN_PREFIX和PATTERN_SIMPLE_GLOB的說(shuō)明甲葬。
These attributes are meaningful only if the scheme and host attributes are also specified for the filter.
android:mimeType
A MIME media type, such as image/jpeg or audio/mpeg4-generic. The subtype can be the asterisk wildcard (*) to indicate that any subtype matches.
intent filter 通常聲明只包含 android:mimeType 屬性的<data>。
manifest
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="string"
android:sharedUserId="string"
android:sharedUserLabel="string resource"
android:versionCode="integer"
android:versionName="string"
android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
. . .
</manifest>
contained in:
none
must contain:
<application>
can contain:
<compatible-screens>
<instrumentation>
<permission>
<permission-group>
<permission-tree>
<supports-gl-texture>
<supports-screens>
<uses-configuration>
<uses-feature>
<uses-permission>
<uses-permission-sdk-23>
<uses-sdk>
description:
The root element of the AndroidManifest.xml file. It must contain an <application> element and specify xmlns:android and package attributes.
attributes:
xmlns:android
Defines the Android namespace. This attribute should always be set to "http://schemas.android.com/apk/res/android".
service
<service android:description="string resource"
android:directBootAware=["true" | "false"]
android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:isolatedProcess=["true" | "false"]
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
. . .
</service>
android:description
- 描述用戶服務(wù)的字符串冗栗。
android:directBootAware
- 服務(wù)是否可以直接啟動(dòng);也就是說(shuō)演顾,它是否可以在用戶解鎖設(shè)備之前運(yùn)行。
android:enabled
- 服務(wù)是否可以由系統(tǒng)實(shí)例化 - 如果可以隅居,則為“true”钠至,否則為“false”。默認(rèn)值是true”胎源。
- <application>元素具有自己的enabled屬性棉钧,該屬性適用于所有應(yīng)用程序組件,包括服務(wù)涕蚤。對(duì)于要啟用的服務(wù)宪卿,<application>和<service>屬性必須都為“true”(因?yàn)樗鼈兌际悄J(rèn)值)的诵。如果其中任何一個(gè)為“假”,則禁用該服務(wù);它無(wú)法實(shí)例化佑钾。
android:exported
其他應(yīng)用程序的組件是否可以調(diào)用服務(wù)或與之交互 - 如果可以西疤,則為“true”,否則為“false”休溶。當(dāng)值為“false”時(shí)代赁,只有相同應(yīng)用程序的組件或具有相同用戶ID的應(yīng)用程序才能啟動(dòng)服務(wù)或綁定到該服務(wù)。
默認(rèn)值取決于服務(wù)是否包含 intent filter兽掰。 缺少任何 filter 意味著只能通過(guò)指定其確切的類名來(lái)調(diào)用它芭碍。這意味著該服務(wù)僅供應(yīng)用程序內(nèi)部使用(因?yàn)槠渌瞬恢李惷K栽谶@種情況下孽尽,默認(rèn)值為“false”窖壕。另一方面,至少一個(gè) filter 的存在意味著該服務(wù)旨在供外部使用杉女,因此默認(rèn)值為“true”瞻讽。
此屬性不是限制服務(wù)暴露給其他應(yīng)用程序的唯一方法。您還可以使用權(quán)限來(lái)限制可以與服務(wù)交互的外部實(shí)體(請(qǐng)參閱 permission 屬性)宠纯。
android:icon
An icon representing the service. This attribute must be set as a reference to a drawable resource containing the image definition.如果未設(shè)置卸夕,則使用為整個(gè)應(yīng)用程序指定的圖標(biāo)(請(qǐng)參閱<application>元素的圖標(biāo)屬性)。
The service's icon - 無(wú)論是在此處設(shè)置還是由<application>元素設(shè)置 - 也是所有服務(wù)的service's intent filters 的默認(rèn)圖標(biāo)(請(qǐng)參閱<intent-filter>元素的圖標(biāo)屬性)婆瓜。
android:isolatedProcess
- 如果設(shè)置為true快集,則此服務(wù)將在與系統(tǒng)其余部分隔離的特殊進(jìn)程下運(yùn)行,并且沒(méi)有自己的權(quán)限廉白。與它的唯一通信是通過(guò)Service API(綁定和啟動(dòng))个初。
android:label
可以向用戶顯示的服務(wù)的名稱。如果未設(shè)置此屬性猴蹂,則使用整個(gè)應(yīng)用程序的標(biāo)簽集(請(qǐng)參閱<application>元素的label屬性)院溺。
服務(wù)的標(biāo)簽 - 無(wú)論是在此處設(shè)置還是由<application>元素設(shè)置 - 也是所有服務(wù)的 intent filter 的默認(rèn)標(biāo)簽(請(qǐng)參閱<intent-filter>元素的label屬性)。
應(yīng)將標(biāo)簽設(shè)置為對(duì)字符串資源的引用磅轻,以便它可以像用戶界面中的其他字符串一樣進(jìn)行本地化珍逸。但是,為了方便您開(kāi)發(fā)應(yīng)用程序聋溜,它也可以設(shè)置為原始字符串谆膳。
android:name
繼承自 Service 類的子類的名稱.這應(yīng)該是一個(gè)完全限定的類名(例如“com.example.project.RoomService”)。但是撮躁,作為簡(jiǎn)寫漱病,如果名稱的第一個(gè)字符是句點(diǎn)(例如“.RoomService”),則它將附加到<manifest>元素中指定的包名稱。
發(fā)布應(yīng)用程序后杨帽,不應(yīng)更改此名稱(除非您已設(shè)置android:exported =“false”)漓穿。
沒(méi)有默認(rèn)值。必須指定名稱。
android:permission
The name of a permission that an entity must have in order to launch the service or bind to it.如果 startService(),bindService() 或 stopService() 的調(diào)用者未被授予此權(quán)限枫耳,則該方法將不起作用,并且 Intent 對(duì)象將不會(huì)傳遞給該服務(wù)山害。
如果未設(shè)置此屬性,則<application>元素的權(quán)限屬性設(shè)置的權(quán)限適用于該服務(wù)沿量。如果兩個(gè)屬性均未設(shè)置,則該服務(wù)不受權(quán)限保護(hù)冤荆。
有關(guān)權(quán)限的更多信息朴则,請(qǐng)參閱簡(jiǎn)介中的“權(quán)限”部分和單獨(dú)的文檔“安全性和權(quán)限”。
android:process
要運(yùn)行服務(wù)的進(jìn)程的名稱钓简。通常乌妒,應(yīng)用程序的所有組件都在為應(yīng)用程序創(chuàng)建的默認(rèn)進(jìn)程中運(yùn)行。它與應(yīng)用程序包的名稱相同外邓。<application>元素的 process 屬性可以為所有組件設(shè)置不同的默認(rèn)值撤蚊。但組件可以使用自己的流程屬性覆蓋默認(rèn)值,允許您跨多個(gè)流程分布應(yīng)用程序损话。
如果分配給此屬性的名稱以冒號(hào)(':')開(kāi)頭侦啸,則在需要時(shí)創(chuàng)建一個(gè)專用于應(yīng)用程序的新進(jìn)程,并在該進(jìn)程中運(yùn)行該服務(wù).如果進(jìn)程名稱以小寫字符開(kāi)頭丧枪,則服務(wù)將在該名稱的全局進(jìn)程中運(yùn)行光涂,前提是它具有這樣做的權(quán)限。這允許不同應(yīng)用程序中的組件共享進(jìn)程拧烦,從而減少資源使用忘闻。