posted by 동건이 2014.03.12 14:51

인텐트 필터

안드로이드 인텐트 필터


인텐트 필터

- 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>


'개발' 카테고리의 다른 글

인텐트 필터  (1) 2014.03.12
안드로이드 리소으와 에셋  (0) 2014.03.12
logback 로그 프레임워크  (0) 2014.03.12
Spring fro Android  (0) 2014.03.12
Fragment와 Activity통신  (0) 2014.03.12
이미지 캐싱  (0) 2014.03.12

댓글을 달아 주세요

  1. Favicon of https://tood-re.tistory.com BlogIcon 먹튀 검증 2018.07.30 11:52 신고  Addr  Edit/Del  Reply

    잘보고갑니다