簡介說明 :

是一個用來描述App的整體資訊設定的XML檔,可向 Android 系統顯示應用程式的基本資訊,也就是系統在執行該應用程式的任何程式碼之前必須具備的資訊。

Manifect.xml 功能 :

Intent Filters 詳情請配合參閱\Android/ Intent應用

應用程式元件是由 Intent 來啟動,用以指明要執行的活動(activity)與動作(action)。其中包含了活動名稱、所需資料、要執行本活動的元件分類、適當的指令。activity 程式碼中的 intent 直接指明,優先於 <intent-filter>

<intent-filter>: 表示所能處理的 intent有哪些。

Icons and Labels

android:icon(圖示) 與android:label(標題) 即是其內所有元素的預設值。

Permissions

告所需的許可權,用來限制程式與資料的存取,以避免遭到誤用,而產生不良後果。每個許可權的識別碼都是唯一的。一個功能特徵只能使用一個許可權來保護它。

Libraries

當應用程式所用到的 package 位於不同的函式庫內,此時需指明所用到的函式庫。
每一個函式庫都需使用一個 <uses-library> 來單獨宣告。

主要架構 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version="1.0" encoding="utf-8"?>
<manifest>

<!-- 0. 軟體預設值 -->

<uses-permission />
<permission />
<permission-tree />
<permission-group />
<instrumentation />
<uses-sdk />
<uses-configuration />
<uses-feature />
<supports-screens />
<compatible-screens />
<supports-gl-texture />

<!-- 1. Application-->
<application>

<!-- 1-1. Activity -->
<activity>
<intent-filter>
<action />
<category />
<data />
</intent-filter>
<meta-data />
</activity>

<activity-alias>
<intent-filter> . . . </intent-filter>
<meta-data />
</activity-alias>

<!-- 1-2. Service -->
<service>
<intent-filter> . . . </intent-filter>
<meta-data />
</service>

<!-- 1-3. 廣播接收器 -->
<receiver>
<intent-filter> . . . </intent-filter>
<meta-data />
</receiver>

<!-- 1-4. 內容供應程式 -->
<provider>
<grant-uri-permission />
<meta-data />
<path-permission />
</provider>

<uses-library />

</application>

</manifest>
0. 軟體預設值
permission 同意權限功能 –>

<uses-permission>: 若應用程式要使用的功能特徵是受到許可權所保護的。

<permission>:應用程式若想要自訂許可權來保護內部元件。

<permission-tree>:幫一組許可權宣告一個 namespace 並定義在程式碼中。

<permission-group>:宣告群組名稱,然後在 元素的屬性 permissionGroup 指定群組名稱,以便將數個許可權歸納在同一群組。

硬體宣告 –>

<uses-feature>: 運用硬體或軟體功能時所做的宣告:Blueteeth, camera…

1. Application 應用程式
1-1. Activity 活動

<activity>:實作應用程式有畫面呈現的功能,沒聲明將不會被運行。

<activity-alias>:android里為了重複使用Activity而設計的。由於它是 的別名,因此必須跟在該元素的後面

1-2. Service 服務

<service>:實作應用程式長時間後台運行,沒聲明將不會被運行。

1-3. receiver 廣播接收器

<receiver>:能夠接收由所述系統或其它應用程序的廣播。

1-4. provider 內容供應程式

<provider>:能夠提供由所述系統或其它應用程序的廣播。


[ 延伸閱讀 標籤字典 ]

參考來源
  1. 灼眼のFate【Android】技巧 6 – Android 禁止屏幕旋转 & 屏幕旋转不刷新 Activity & 动态更改屏幕方向
  2. 應用程式manifest-intro | Android Developers
  3. App Manifest 介紹- Android App 學習筆記