2013-04-07 1 views

답변

1

그런 경우 어떻게됩니까?

나는 앱에서 일치하는 모든 활동이 일치 장치의 다른 활동과 함께 선택기에 표시 기대, 당신은 startActivity() 언급하는 것을 가정.

오류가 있습니까?

아마도 그렇지 않습니다. 그러나 당신이 묘사하는 것은 매우 드문 점에 유의하십시오. 일반적으로 응용 프로그램은 지정된 Intent 구조에 응답하는 하나의 활동 만 필요합니다.

0

가장 적합한 인 텐트 필터가 의도를 포착합니다. doc :

암시 적 인 텐트에는 다른 전략이 필요합니다. 지정된 대상이없는 경우 Android 시스템은 의도 된 사항을 처리 할 수있는 최상의 구성 요소 (또는 요청 된 작업을 수행하는 단일 활동 또는 서비스 또는 방송 발표에 응답 할 수있는 일련의 방송 수신기를 찾아야합니다. Intent 객체의 내용을 인 텐트 필터를 잠재적 인 인 텐트를받을 수있는 구성 요소와 관련된 구조와 비교하여 그렇게합니다. 필터는 구성 요소의 기능을 알리고 처리 할 수있는 인 텐트를 구분합니다. 이들은 광고 된 유형의 암시 적 의도를 수신 할 가능성이있는 구성 요소를 엽니 다. 구성 요소에 의도 필터가 없으면 명시 적 인 텐트 만받을 수 있습니다. 필터가있는 구성 요소는 명시 적 및 암시 적 인 텐트를 모두 수신 할 수 있습니다.

...

필터는 텐트 오브젝트의 동작, 데이터, 카테고리 필드에 평행 한 필드를 갖는다. 암시 적 인 텐트는 세 영역 모두에서 필터에 대해 테스트됩니다. 필터를 소유 한 구성 요소로 전달 되려면 세 가지 테스트를 모두 통과해야합니다. 그 중 하나라도 실패하면 안드로이드 시스템은 적어도 그 필터를 기반으로하지 않고 구성 요소로 전달하지 않습니다. 그러나 구성 요소에는 여러 개의 인 텐트 필터가있을 수 있으므로 구성 요소의 필터 중 하나를 통과하지 못하는 의도는 다른 구성 요소의 필터를 통과 할 수 있습니다.

요약하면 오류는 발생하지 않습니다. 시스템은 의도와 가장 일치하는 항목을 찾으려고 시도합니다. 사용자와 관련이있는 경우가 있습니다 (새 브라우저를 설치할 때).