Android Studio의 Manifest 파일의 항목을 정리해봤다.
<action><action android:name="string" />
<intent-filter><intent-filter>에 작업 추가<intent-filter>에 꼭 <action> 이 하나 이상 포함되어야 함<action> 이 없으면 filter가 Intent 객체 허용Xandroid:name<activity><action android:permission = "string"></activity>
<application><intent-filter>, <meta-data>, <layout><activity> 요소로 나타내야 함<application><application android:enabled=["true"|"false"]></application>
<manifest><activity>, <activity-alias>, <meta-data>, <service>, <receiver>, <profileable>, <provider>, <uses-library>, <uses-native-library><intent-filter><intent-filter android:icon="drawable resource"
android:label="string resource"
android:priority="integer" >
. . .
</intent-filter>
<activity>, <activity-alias>, <service>, <receiver>, <provider><actioin><category>, <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>
<application><compatible-screens>, <instrumentation>, <permission>, <permission-group>, <permission-tree>, <queries>, <supports-gl-texture>, <suuports-screens>, <users-configuration>, <uses-feature>, <uses-permission>, <uses-permission-sdk-23>, <uses-sdk>AndroidManifest.xml 의 루트 요소<applicaion> 요소를 포함해야 함xmlns:android 및 package 속성 지정xmlns:androidpackage<permission><permission android:description="string resource"
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permissionGroup="string"
android:protectionLevel=["normal" | "dangerous" |
"signature" | ...] />
<manifest>android:descriptionandroid:iconandroid:labelandroid:nameandroid:permissionGroup<permission-group> 요소로 선언android:protectionLevel<provider><provider android:authorities="list"
android:directBootAware=["true" | "false"]
android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:grantUriPermissions=["true" | "false"]
android:icon="drawable resource"
android:initOrder="integer"
android:label="string resource"
android:multiprocess=["true" | "false"]
android:name="string"
android:permission="string"
android:process="string"
android:readPermission="string"
android:syncable=["true" | "false"]
android:writePermission="string" >
. . .
</provider>
<application><meta-data>, <grant-uri-permission>, <intent-filter>, <path-permission>ContentProvider의 서브 클래스<provider> 요소에서 정의<receiver><receiver android:directBootAware=["true" | "false"]
android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
. . .
</receiver>
<application><intent-filter>, <meta-data>broadcast receiver(BroadcastReceiver 서브클래스)를 application의 구성요소 중 하나로 선언<receiver>를 사용해 manifest 파일에 broadcast receiver 선언broadcast receiver를 만든 다음 Context.registerReceiver() 메소드를 사용해 등록하는 것<service><service android:description="string resource"
android:directBootAware=["true" | "false"]
android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:foregroundServiceType=["camera" | "connectedDevice" |
"dataSync" | "location" | "mediaPlayback" |
"mediaProjection" | "microphone" | "phoneCall"]
android:icon="drawable resource"
android:isolatedProcess=["true" | "false"]
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
. . .
</service>
<applicatoin><intent-filter>, <meta-data>Service(Service 서브클래스)를 application의 구성요소 중 하나로 선언activity와 달리 시각적 사용자 인터페이스 X<service> 요소로 나타내야 함<uses-permission><uses-permission android:name="string"
android:maxSdkVersion="integer" />
“android.permission.CAMERA”, “android.permission.READ_CONTACTS”https://developer.android.com/guide/topics/manifest/manifest-intro?hl=ko