Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Inicio de la actividad mediante la acción personalizada

Estoy buscando iniciar una actividad en mi aplicación mediante una acción personalizada. He encontrado algunas respuestas pero todo lo que intento lanza java.lang.RuntimeException diciendo No Activity found to handle Intent {act = com.example.foo.bar.YOUR_ACTION}.

Esta es la actividad en mi archivo de manifiesto:

 <activity android:name=".FeedbackActivity" > <intent-filter> <action android:name="com.example.foo.bar.YOUR_ACTION" /> </intent-filter> </activity> 

Y así empiezo la actividad:

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

Cualquier ayuda sería muy apreciada.

  • Cómo compartir una imagen con la aplicación de Google+ mediante Intent.ACTION_SEND y Intent.EXTRA_STREAM
  • Diferencia entre putExtra () y setData ()
  • Haz que el botón "arriba" se comporte como el botón "volver" de Android
  • Android - Uso de Google Analytics v4 Campaign Measurement
  • ¿Cómo pasar un objeto a otra actividad?
  • La actividad de Android vuelve a la actividad que la inició en lugar de la actividad de los padres al presionar el botón de la barra de navegación.
  • Android Share Intent para un mapa de bits - ¿es posible no guardarlo antes de compartir?
  • Registrarse como reproductor de música y reproducir canciones
  • 3 Solutions collect form web for “Inicio de la actividad mediante la acción personalizada”

    Creo que está creando su intención mal. Prueba 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 necesitas es agregar una categoría predeterminada a tu filtro de intenciones, por ejemplo.

     <activity android:name=".FeedbackActivity" > <intent-filter> <action android:name="com.example.foo.bar.YOUR_ACTION" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

    Vea esta respuesta para más información.

    Simplemente agrega y intenta filtrar la categoría como predeterminada.

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

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

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

    Si no lo hace, devuelve un tamaño de lista 0 o bien> 0 .

    Con esto también puede comprobar 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 se enfrentarán a grandes problemas aparte de que no se inicie la aplicación.

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

    Espero que esto ayude !!! Codificación feliz. 🙂

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.