Actividad de inicio con acción personalizada

Estoy buscando comenzar una actividad en mi aplicación usando una acción personalizada. He encontrado algunas respuestas, pero todo lo que bash arroja java.lang.RuntimeException diciendo que no se encontró actividad para manejar Intención {act = com.example.foo.bar.YOUR_ACCIÓN}.

Esta es la actividad en mi archivo manifiesto:

      

Y así es como comienzo la actividad:

 Intent intent = new Intent("com.example.foo.bar.YOUR_ACTION"); startActivity(intent); 

Cualquier ayuda sería muy apreciada.

Creo que estás creando tu intención equivocada. Pruebe de esta manera:

 String CUSTOM_ACTION = "com.example.foo.bar.YOUR_ACTION"; //Intent i = new Intent(this, FeedBackActivity.class); // <--- You might need to do it this way. Intent i = new Intent(); i.setAction(CUSTOM_ACTION); startActivity(i); 

Creo que lo que necesita es agregar una categoría predeterminada a su filtro de intención, por ej.

       

mira esta respuesta para más información.

Solo agregue y intente-filtre la categoría como Predeterminado.

La intención implícita funciona perfectamente y, en muchos casos, es mejor usar un propósito implícito con Intención-acción para llamar a un servicio / Actividad que utilizando el nombre de clase.

Antes de startActivty() / startService() con el contexto adecuado, use este método 'queryIntentActivities(Intent intent, int flags)' de la clase de administrador de paquetes.

Ayuda al ActivityManager (responsable de las actividades de lanzamiento) a verificar si el sistema Android está logrando cualquier coincidencia con su intención.

Si no, devuelve un tamaño de lista 0 o más> 0 .

Con esto también puede verificar si su aplicación recibe la llamada, y en este caso, incluso si su aplicación no está instalada / tiene algún problema, no se bloqueará, sino que lanzará una advertencia en el Registro. Los usuarios no tendrán grandes problemas aparte de la aplicación que no se lanzó.

(los usuarios nunca te perdonarán si la aplicación de la gira falla).

Espero que esto ayude! Feliz Codificación. 🙂