2012-02-13 4 views
5

선언에도 불구하고, 발견없음 실행기 활동 나는이 같은 manifest.xml 파일에 정의 된 주요 활동이 내 응용 프로그램에서 manifest.xml

<activity 
      android:name=".MainActivity" 
      android:label="@string/guide_activity" > 
      <intent-filter> 
       <category android:name="android.intent.category.LAUNCHER" /> 
       <action android:name="android.intent.action.MAIN" /> 

       <action android:name="android.intent.action.SEARCH" /> 
      </intent-filter> 
      <meta-data android:name="android.app.searchable" 
        android:resource="@xml/searchable"/> 
     </activity> 

나는 연결 이클립스에서 프로젝트를 실행할 때 실제 장치 또는 에뮬레이터 콘솔에 다음 메시지가 나타납니다. 실행 프로그램 활동이 없음

어떤 이유가있을 수 있습니까?

답변

15

의도 필터를 두 개의 분리 된 필터로 분리하십시오. 이런 식으로 혼합하면 안드로이드는 두 개 중 하나가 실행기 필터라고 판단하지 않습니다. 답에 대한

<activity 
    android:name=".MainActivity" 
    android:label="@string/guide_activity" > 

     <intent-filter> 
      <category android:name="android.intent.category.LAUNCHER" /> 
      <action android:name="android.intent.action.MAIN" /> 
     </intent-filter> 

     <intent-filter> 
      <action android:name="android.intent.action.SEARCH" /> 
     </intent-filter> 

     <meta-data android:name="android.app.searchable" 
       android:resource="@xml/searchable"/> 
</activity> 
+0

덕분에,이,가,가 인 텐트 필터가 하나가 테스트를 확인 안드로이드 앱으로 의도를 보낼 때 –

+2

을 분리 할 필요없이 작업을 해야하는 일을하지만, 이것에 대한 이유는 무엇인가 모든 규칙과 일치합니다. 사실 인 경우에만 의도가 실제로 전달됩니다. 이 경우 발사 - 의도가 "SEARCH"및 "MAIN"두 가지 작업과 일치하는지 여부를 확인합니다. 그렇지 않은 경우 의도가 올바르게 전달되지 않습니다. 분할하면 시스템은 모든 규칙이 일치하는 곳에 하나의 인 텐트 필터가 존재하고 주 의도를 올바르게 전달하는 것으로 간주합니다. –

+0

고마워요, 심지어 내가 이상한 문서에서 이것을 읽지 않는다고 생각합니다. –

관련 문제