2009-12-25 7 views
3

인 텐트 필터 android:priority="0"과 인 텐트 필터 android:priority="20"android.intent.category.HOME으로 테스트합니다. 나는 아래의 정보,android : priority 설정의 인 텐트 필터

<activity android:name=".TestHomeActivity" 
       android:label="@string/app_name"> 
     <intent-filter android:priority="0"> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.HOME" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

시스템 부팅을 완료 할 때, 항상이 목적을 위해 선호하는 활동을 선택하기위한 대화 상자 (ResolveActiivty를) 팝업 ...

사람이 도움을 줄 수 있습니다 를 나열? android:priority에 대한 사용 오류입니까?

감사합니다.

답변

3

시스템이 의도를 해결할 때 실제로는 android:priority이 고려되지 않았습니다. 필자는 사용하는 인 텐트 필터에 우선 순위를 설정하려고 시도했으나 필터의 우선 순위를 어떤 값으로 설정했는지에 관계없이 시스템에서 여전히 해상도 팝업 대화 상자를 표시했습니다.

사용하려는 홈 화면 활동 (예 : 내 활동)을 선택하고 "기본적으로 사용 ..."확인란을 선택하기 만하면됩니다.

+0

이제 우선 순위를 변경하려고 시도한 우선 순위를 기억하지 못했지만 Android 개발자 중 한 명이이 유용한 답변을 확인했습니다. http://stackoverflow.com/questions/2023811/catching-market-search-intents#comment -1947212 –

1

스 니펫에서 애플리케이션을 실행하려고하는 것 같습니다. 우선 순위는 필터에서 설명하는 유형의 인 텐트를 처리하는 상위 구성 요소에 부여해야하는 것입니다.

다른 활동과 비교하여 필터와 일치하는 의도에 응답하는 활동 기능에 대한 정보를 제공합니다. 또한 브로드 캐스트 메시지를 수신하기 위해 브로드 캐스트 리시버가 실행되는 순서를 제어합니다. 브로드 캐스트를 수신하는 특정 순서를 지정해야하거나 Android에서 다른 사용자보다 하나의 활동을 선호하도록하려는 경우에만이 속성을 사용합니다.

값은 "100"과 같은 정수 여야합니다. 숫자가 높을수록 우선 순위가 높아집니다.

3

android:priority은 주문되지 않은 브로드 캐스트의 해상도 순서가 아니라 OrderedBroadcast 의도에만 사용됩니다. 사용자는 주어진 동작에 대한 기본 동작을 선택하므로 대화 상자가 튀어 나오게됩니다. 예, priority을 잘못 사용하고 있습니다.