안드로이드 인텐트 필터
프로그래밍/Android 2013. 8. 26. 18:32안드로이드 인텐트 필터
인텐트 필터
- intent-filter 는 적어도 하나의 action 을 포함하여야 한다.
샘플 AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.notepad">
<application android:icon="@drawable/app_notes" android:label="@string/app_name">
<provider android:name="NotePadProvider" android:authorities="com.google.provider.NotePad"/>
<activity android:name="NotesList" android:label="@string/title_notes_list">
<intent-filter>
<action android:name="android.intent.action.MAIN"/> // 이 어플리케이션에 대한 메인 시작 점을 선언한다.
<category android:name="android.intent.category.LAUNCHER"/> // 이 시작점이 어플리케이션 런처안에 나열되어야 한다는 것을 말한다.
</intent-filter>
<intent-filter> // 이 필터를 통해 액티비티가 할 수 잇는 것들을 선언한다.
<action android:name="android.intent.action.VIEW"/> // 디렉토리 조회
<action android:name="android.intent.action.EDIT"/> // 디렉토리 수정
<action android:name="android.intent.action.PICK"/> // 디렉토리 내의 특정 노트를 가져올 수 있음
<category android:name="android.intent.category.DEFAULT/>
<data android:mimeType="vnd.android.cursor.dir/vnd.google.note"/> // 위의 액션들이 디렉토리를 대상으로 실행되는것을 지정
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT"/> // 사용자에 의해 선택된 노트를 반환
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="vnd.android.cursor.item/vnd.google.note"/> // 위의 액션들이 하나의 노트를 대상으로 실행되는것을 지정
</intent-filter>
</activity>
<activity android:name="NoteEditor"
android:theme="@android:style/Theme.Light"
android:label="@string/title_note" >
<intent-filter android:label="@string/resolve_edit">
<action android:name="android.intent.action.VIEW" /> // 노트 조회
<action android:name="android.intent.action.EDIT" /> // 노트 수정
<action android:name="com.android.notepad.action.EDIT_NOTE" /> // EDIT_NOTE 는 EDIT 와 동의어이다.
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="vnd.android.cursor.item/vnd.google.note" /> // 위의 액션들이 하나의 노트를 대상으로 실행되는것을 지정
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.INSERT"/> // 신규 노트 생성
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="vnd.android.cursor.dir/vnd.google.note"/> // 위의 액션들이 디렉토리를 대상으로 실행되는것을 지정
</intent-filter>
</activity>
<activity android:name="TitleEditor"
android:label="@string/title_edit_title"
android:theme="@android:style/Theme.Dialog">
<intent-filter android:label="@string/resolve_title">
<action android:name="com.android.notepad.action.EDIT_TITLE" /> // 노트의 제목을 수정하는 커스텀 액션
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.ALTERNATIVE" />
<category android:name="android.intent.category.SELECTED_ALTERNATIVE" />
<data android:mimeType="vnd.android.cursor.item/vnd.google.note"/> // 위의 액션들이 하나의 노트를 대상으로 실행되는것을 지정
</intent-filter>
</activity>
</application>
</manifest>
'프로그래밍 > Android' 카테고리의 다른 글
안드로이드 key-value 데이터 다루기 Preferences (0) | 2013.08.27 |
---|---|
안드로이드 데이터베이스 다루기 SQLiteOpenHelper 사용 (0) | 2013.08.27 |
안드로이드 리소스와 에셋 (0) | 2013.08.26 |
안드로이드 레이아웃 (0) | 2013.08.25 |
안드로이드 스타일과 테마 적용하기 (0) | 2013.08.25 |