2011-09-04 10 views
6

Estoy aprendiendo a usar intenciones implícitas junto con filtros de intención, y hasta ahora no he podido activar la actividad correcta. El código que se utiliza para disparar la intención es:No se pueden obtener intentos implícitos para trabajar

intent = new Intent(); 
intent.setAction("com.appsculture.intent.action.PLUGIN_RECEIVER"); 
startActivity(intent); 

Y el filtro de Intención para la actividad deseada es:

<activity android:name="PluginReceiver"> 
<intent-filter> 
    <action android:name="com.appsculture.intent.action.PLUGIN_RECEIVER"></action> 
</intent-filter> 
</activity> 

El error que consigo es el ActivityNotFound estándar

09-04 17:15:27.827: ERROR/AndroidRuntime(2552): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.appsculture.intent.action.PLUGIN_RECEIVER } 

Solución: Agregó simplemente la categoría android.intent.category.DEFAULT al filtro de intención

funciona de maravilla después de eso

Respuesta

4

Pude resolver esto simplemente agregando la categoría android.intent.category.DEFAULT al filtro de intención. Funciona como un encanto después de eso.

Como Commonsware ha indicado en un comentario sobre su respuesta, se requiere una categoría para Actividades, aunque no para servicios o receptores de difusión.

3

Todo lo que tienes ahí debe estar bien, aunque me gustaría usar new Intent("com.appsculture.intent.action.PLUGIN_RECEIVER"), y el uso de RECEIVER que parece una pieza rara de un nombre de acción para una Activity en lugar de un BroadcastReceiver .

Si se trata de dos aplicaciones separadas, asegúrese de que ambas estén instaladas en su dispositivo o emulador, con el último código (es decir, no realizó el cambio y luego no instaló la aplicación actualizada).

+0

Hola CommonsWare, He usado su definición de intención sugerida anteriormente (solo cambié a intent.setAction porque el método anterior seguía fallando). El resultado es la misma ActivityNotFoundException. Ambas actividades pertenecen a la misma aplicación, por lo tanto, el problema no es si se actualizan. Entiendo que la nomenclatura no es la mejor, y buscaré cambiarla. El nombre era principalmente lo que me pareció mejor para el propósito de la actividad. –

+0

He publicado la solución que encontré para el problema –

+2

Ah, interesante. Para acciones personalizadas para servicios y receptores de difusión, no necesita una categoría. Olvidé que necesitabas uno para las actividades. Mis disculpas por perderme esto. – CommonsWare

Cuestiones relacionadas