Android Intent-Filter 일치 규칙 분석
7130 단어 AndroidIntent-Filter일치 규칙
우 리 는 모두 알 고 있 습 니 다.활동 의 시작 방식 은 두 가지 가 있 습 니 다.하 나 는 시작 을 표시 하거나 간단 합 니 다.활동 의 class 를 지정 하면 됩 니 다.다른 하 나 는 암시 적 으로 시작 하 는 것 입 니 다.action,category,data 정 보 를 지정 해 야 합 니 다.예 를 들 어 우리 가 시스템 카 메 라 를 시작 할 때.코드 보기:
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
startActivityForResult(intent,1);
그 중의"android.media.action.IMAGE""CAPTURE"는 바로 카메라 의 action 입 니 다.이렇게 하면 카 메 라 를 시작 할 수 있 습 니 다.암시 적 인 시작 은 우리 가 평소에 도 사용 하 는 것 이 비교적 적 고 자신 이 사용 하 는 Activity 에 대해 모두 시작 을 직접 표시 합 니 다.그럼 언제 스텔스 시동 을 걸 까요?일반적으로 다른 애플 리 케 이 션 의 activity 를 시작 할 때,예 를 들 어 위 에서 말 한 카메라.
위 에서 말 한 action,category,data 는 intent-filer,즉 필터 입 니 다.시작 할 activity 를 선별 합 니 다.
intentFiler 는 무슨 소 용이 있 습 니까?자신 에 게 꼬리 표를 달 아 주 는 것 과 같다.예 를 들 어 대학생 이라는 꼬리표 가 붙 어 있 으 면 학생 이 나 오 면 G 는 당신 과 일치 합 니 다.이것 이 바로 intentfiler 의 역할 입 니 다.일치 하 는 것 을 선별 하 는 데 사용 합 니 다.
그렇다면 이 세 가지 action,category,data 는 도대체 무엇 입 니까?그들의 구체 적 인 일치 규칙 은 또 어떤 것 입 니까?위 에서 말 한 intentFiler 는 다른 응용 프로그램 을 시작 하 는 데 사 용 됩 니 다.어떤 자주 사용 하 는 intentfiler 를 사용 할 수 있 습 니까?이제 한번 봅 시다.
intent Filter 의 구조
앞에서 말 한 intent Filter 는 action,category,data 세 가 지 를 포함 하고 있 습 니 다.코드 를 보고 익 혀 보 겠 습 니 다.
<intent-filter>
<action android:name="huan"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
그리고 우리 가 가장 잘 아 는 것 도 포함한다.
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
이 세 가 지 는 각각 다른 의 미 를 나타 낸다.어떤 activity 를 시작 하려 면 이 속성 을 설정 해서 해당 하 는 activity 를 시작 하 십시오.우리 가 스스로 intentFiler 를 설정 할 때 도 그의 의미 성 을 주의해 야 한다.비록 많은 것 을 마음대로 설정 할 수 있 지만 변수 이름 처럼 함부로 시작 하지 마라.Action
액 션 은 가장 간단 하고 자주 사용 되 는 것 이다.
이 매개 변 수 는 평소에 비교적 적 게 사용 하 는데,일반적으로 비교적 특수 한 상황 에서 만 사용 할 수 있다.
data 는 세 가지 중에서 가장 복잡 한 것 으로 말 그대로 이 매개 변 수 는 데 이 터 를 전달 하 는 데 사용 된다.data 는 앞의 두 부분 과 다 릅 니 다.그 는 두 부분 으로 구성 되 어 있 습 니 다.Uri+mimeType.
먼저 data 의 구성 을 살 펴 보 겠 습 니 다.
<data android:scheme=""
android:host=""
android:port=""
android:path=""
android:pathPattern=""
android:pathPrefix=""
android:mimeType=""/>
data 는 모두 7 개의 매개 변수 로 구성 되 어 있 습 니 다.각각 무슨 뜻 인지 알 아 보 겠 습 니 다.그렇다면 데이터 의 일치 규칙 은 어 떨 까요?
action 과 같 습 니 다.intent 에 data 가 있어 야 하고 intent Filter 의 하나 와 일치 하면 성공 할 수 있 습 니 다.
위 에서 intent Filter 의 세 가지 매개 변수 가 어떻게 일치 하 는 지 알 고 있 습 니 다.그러면 이벤트 에 intent Filter 를 어떻게 설정 하고 intent 에 인 자 를 어떻게 전송 하 는 지 아 세 요?이것 은 비교적 간단 하고 간단하게 말 할 수 있다.
이벤트 에 intent Filter 를 설정 하 는 것 은 간단 합 니 다.AndroidManifest 에 설정 하면 됩 니 다.예제 코드 를 보 세 요.
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
intent 에 인 자 를 설정 하 는 것 도 어렵 지 않 습 니 다.하나씩 보 세 요.위 에서 말 한 intent Filter 는 주로 다른 응용 프로그램 을 시작 하 는 데 사 용 됩 니 다.예 를 들 어 카메라,전화 등 은 무엇 을 자주 사용 합 니까?구체 적 으로 는 이 블 로 그 를 볼 수 있다.안 드 로 이 드 상용 URI 은 기억 할 만하 다.모 르 면 바 이 두 나 댓 글 에 남 겨 도 됩 니 다.
작은 매듭
intent Filter 는 시작 할 activity 를 선택 할 수 있 습 니 다.service 와 broadcast 도 마찬가지 로 intent Filter 를 설정 하여 해당 하 는 구성 요 소 를 암시 적 으로 시작 할 수 있 습 니 다.평소에 가장 많이 사용 하 는 것 은 암시 적 인 시작 활동,특히 다른 응용 활동 을 호출 할 때 이다.흔히 볼 수 있 는 호출 을 파악 하 는 것 도 중요 하 다.
또한 intent Filter 의 일치 규칙 도 중요 합 니 다.기억 해 야 자신 이 intent Filter 를 설정 할 때 오류 가 발생 하지 않 습 니 다.
그 중 에는 아직 많은 세부 사항 을 분명하게 말 하지 못 했 기 때문에 의문 이 있 는 독자 들 은 평론 구역 에서 메 시 지 를 남 길 수 있다.
이상 은 안 드 로 이 드 인 텐트-filer 매 칭 규칙 해석 에 대한 상세 한 내용 입 니 다.안 드 로 이 드 인 텐트-filer 매 칭 규칙 에 대한 더 많은 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.