android. intent. category. DEFAULT 와 LAUNCHER 를 언제 추가 합 니까?

2932 단어 Launcher
다음으로 이동:http://blog.csdn.net/ccccdddxxx/article/details/7843070
1. 이 문 제 를 파악 하려 면 먼저 implicit (숨 김) intent 가 무엇 인지 알 아야 합 니 다. explicit (명확) intent 가 무엇 인지 알 아야 합 니 다.
Explicit Intent 가 시작 할 Acitivity 를 명확 하 게 지 정 했 습 니 다. ,예 를 들 어 다음 자바 코드: 
Intent intent= new Intent(this, B.class)  

Implicit Intent 에서 어떤 액 티 비 티 를 시작 할 지 명확 하 게 지정 되 지 않 았 습 니 다. ,시스템 이 적합 한 Acitivity 를 선택 하여 시작 하도록 Intent Filter 를 설정 합 니 다.
2. intent 는 도대체 어떤 activity 에 보 내 는 지 세 가지 일치 가 필요 합 니 다. 하 나 는 action 이 고 하 나 는 category 이 며 하 나 는 data 입 니 다.
이론 적 으로 intent 가 category 를 지정 하지 않 으 면 intent filter 의 내용 이 무엇이든 일치 해 야 합 니 다.하지만 implicit intent 라면 안 드 로 이 드 는 기본적으로 CATEGORY 를 추가 합 니 다.DEFAULT, 그러면 intent filter 에 android. intent. category. DEFAULT 라 는 category 가 없 으 면 일치 하 는 테스트 가 실 패 됩 니 다.따라서 activity 가 implicit intent 를 받 아들 이 는 것 을 지원 한다 면 intent filter 에 android. intent. category. DEFAULT 를 추가 해 야 합 니 다.
예외 적 인 상황 은 android. intent. category. MAIN 과 android. intent. category. LAUNCHER 의 filter 에 android. intent. category. DEFAULT 를 추가 할 필요 가 없습니다. 물론 가입 에 도 문제 가 없습니다.우리 가 정의 하 는 activity 가 implicit intent 를 받 아들 이면 intent filer 는 반드시 android. intent. category. DEFAULT 라 는 category 를 추가 해 야 합 니 다.
android.intent.category.LAUNCHER 구체 적 으로 어떤 작용 이 있 습 니까?내 가 xml 에 넣 는 거 랑 안 넣 는 거 랑 다 를 게 없 잖 아.누가 설명 할 수 있 겠 어!
                                                           
 하나의 프로그램 에 여러 개의 Activity 가 있 을 수 있 습 니 다. 모든 Activity 는 같은 등급 입 니 다. 그러면 프로그램 을 시작 할 때 가장 먼저 어떤 Activity 를 시작 합 니까?일부 프로그램 은 프로그램 목록 에 표시 해 야 할 수도 있 고 필요 하지 않 을 수도 있 습 니 다.어떻게 정의 할 까요?android. intent. action. MAIN 은 프로그램 이 가장 먼저 시작 하 는 Activity android. intent. category. LAUNCHER 를 결정 하여 프로그램 목록 에 표시 할 지 여 부 를 결정 합 니 다.
프로그램 에 많은 activity 가 있 을 수 있 기 때문에 xml 설정 파일 에 이러한 intent - filter 가 있 고 그 안에 이 launcher 가 있 으 면 이 activity 는 프로그램 을 클릭 할 때 가장 먼저 실행 되 는 activity 입 니 다.지금 당신 은 하나의 activity 만 있 습 니 다. 그러면 추가 하 든 안 하 든 상관 없습니다.
시 뮬 레이 터 가 시 작 될 때 기본 으로 열 리 는 activity 로 설정 합 니 다.
3, 왜 android. intent. category. DEFAULT 에 가입
startActivity () 방법 을 통 해 보 내 는 모든 암시 적 인 텐트 는 적어도 하나의 category 가 있 기 때문에 암시 적 인 텐트 를 받 으 려 면 'android.intent.category.DEFAULT' category 를 포함해 야 하 며 그렇지 않 으 면 Intent 매 칭 에 실패 할 수 있다 는 뜻 이다.
위의 논술 에서 다음 과 같은 정 보 를 얻 을 수 있다. 1. 하나의 Intent 는 여러 개의 category 가 있 지만 적어도 하 나 는 있 을 수 있 고 기본 적 인 category 이기 도 한다.2. Intent 의 모든 category 가 일치 해 야 Activity 가 이 Intent 를 받 을 수 있 습 니 다.

좋은 웹페이지 즐겨찾기