<activity>
액티비티 선언
선언되지 않은 액티비티는 시스템에 표현 및 실행되지 않는다.
포함된 위치
<application>
포함 가능한 항목
<intent-filter>
<meta-data>
<layout>
developer.android.com/guide/topics/manifest/activity-element
<activity-alias>
활동의 별칭
<activity-alias android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permission="string"
android:targetActivity="string" >
. . .
</activity-alias>
포함된 요소
<application>
포함 가능한 항목
<intent-filter>
<meta-data>
android:enabled | 이 별칭을 통해 타겟활동을 인스턴스화할 수 있는지 여부 <application> 및 <activity-alias> 속성이 모두 true여야 시스템에서 별칭을 통해 타겟활동을 인스턴스화 가능 |
android:targetActivity | 별칭을 통해 활성화할 수 있는 활동의 이름 <activity> 요소의 name과 일치해야 한다. |
<meta-data>
상위 구성요소에 제공될 수 있는 추가 임의 데이터 항목의 이름-값 쌍
포함된 요소
<activity>
<activity-alias>
<application>
<provider>
<receiver>
<service>
<service>
서비스(Service 하위 클래스)를 애플리케이션의 구성요소로 선언
정의되지 않는 서비스는 시스템에서 표시 및 실행 불가
포함된 요소
<application>
포함 가능한 항목
<intent-filter>
<meta-data>
- 서비스는 시각적 사용자 인터페이스가 없음
- 서비스는 오래 실행되는 백그라운드 작업이나 다른 애플리케이션에서 호출할 수 있는 리치 커뮤니케이션 API 구현시 사용
<receiver>
broadcast receiver를 애플리케이션의 구성요소로 선언
→ 애플리케이션의 다른 구성요소가 실행되고 있지 않을 때도
시스템이나 다른 애플리케이션에서 브로드캐스팅하는 인텐트를 애플리케이션에서 수신 가능
포함된 위치
<application>
포함 가능한 항목
<intent-filter>
<meta-data>
broadcast receiver를 시스템에 알리는 방법
1. <receiver> 사용해 manifest 파일에서 선언2. 코드에서 동적으로 broadcast receiver 생성 후 Context.registerReceiver() 메서드를 사용해 등록
android:directBootAware | broadcast receiver가 직접 부팅을 인식하는지 여부 사용자가 기기를 잠금 해제하기 전에 실행할 수 있는지 여부 |
android:enabled | 시스템에서 broadcast receiver를 인스턴스화할 수 있는지 여부 broadcast receiver를 사용하려면 <application> 및 <receiver> 속성이 모두 'true'여야 한다. |
<provider>
콘텐츠 제공자 구성요소 선언
정의되지 않으면 시스템에서 인식 및 실행 불가
포함된 위치
<application>
포함 가능한 항목
<meta-data>
<grant-uri-permission>
<path-permission>
콘텐츠제공자
- 데이터 액세스 권한에 대한 세분화된 제어 기능 제공
- 애플리케이션이 데이터에 대한 액세스 권한을 관리하도록 돕고 다른 앱과 데이터를 공유할 방법을 제공
- 한 프로세스의 데이터에 다른 프로세스에서 실행중인 코드를 연결하는 표준 인터페이스
- 타 앱이 앱 데이터에 안전하게 액세스하여 수정할 수 있게 되는 장점
<uses-library>
애플리케이션이 연결되어야 하는 공유 라이브러리를 지정
<uses-library
android:name="string"
android:required=["true" | "false"] />
-
android:name : 라이브러리의 이름
-
android:required : 라이브러리가 필요한지 여부