2012-02-13 8 views
5

En mi aplicación tengo la principal actividad definida en el archivo manifest.xml así:actividad No se encontró Launcher, a pesar de haber sido declarado en 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> 

cuando corro el proyecto de Eclipse conectado a una dispositivo real o un emulador de recibo el mensaje siguiente en la consola: la actividad No se encontraron Launcher

lo que puede ser la razón de esto?

Respuesta

15

Divida el filtro de intención en dos separados. Si los mezclas de esta manera, Android no determinará si uno de los dos es el filtro de inicio.

<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

Gracias por la respuesta, que trabajaron, pero ¿cuál es la razón de esto, se supone que debe funcionar sin la necesidad de dividir –

+2

Cuando androide envía una intención hacia su aplicación, comprueba los filtros intención de probar si uno coincide con todas las reglas. Solo cuando eso sea cierto, la intención será realmente entregada. En este caso, verifica si el intento de lanzamiento coincidirá con las acciones "BUSCAR" y "PRINCIPAL". Este no es el caso, por lo que la intención no se entregará correctamente. Si lo divide, el sistema ve que existe un filtro de intención donde todas las reglas coinciden y entrega el intento principal correctamente. –

+0

Gracias, incluso creo que nunca lo he leído en la documentación, extraño :) –

Cuestiones relacionadas