Propósito explícito de Android con el componente de destino

¿Es posible disparar una intención explícita, pero no para una actividad de mi proyecto, sino para la actividad en alguna otra aplicación.

Estoy seguro de este código y sé que se está ejecutando

Intent i=new Intent(this,MyActivity.class); 

Pero, ¿es posible hacer algo como esto

 Intent i=new Intent(this,com.bzz.bla.bla.SomeActivity.class); 

Quiero decir cuál es la manera exacta de iniciar explícitamente la actividad de otra aplicación (actividad que está contenida en otro apk), esto es posible en absoluto?

Lo intenté pero me cae forse mensaje cerrado … 🙁

Si es posible. Pero la creación de la intención es diferente. Pruebe esto:

 Intent intent = new Intent(); intent.setComponent(new ComponentName("The package name of the activity that you wish to launch","Its fully qualified class name")); startActivityForResult(intent); 

Si es posible. Pero la creación de la intención es un poco diferente.

 Intent intent = new Intent(); intent.setComponent(new ComponentName("The package name of the activity that you wish to launch","Its fully qualified class name")); startActivity(intent); 

Pero, entonces simplemente no se puede llamar a ninguna actividad de cualquier aplicación aleatoria. Esa actividad en particular debe tener un filtro de intenciones con una acción PRINCIPAL.

Puede iniciar cualquier componente a través de la intención sólo necesita conocer el nombre de acción o componente de destino (pkg, cls).
Tenga en cuenta que he desarrollado dos aplicaciones app1 & app2 app1 pkg nombre es com.xyz.app1 & app2 pkg nombre es com.xyz.app2.

App1 tiene dos actividades App1MainActivity y App1XyzActivity , app2 tiene sólo una actividad App2MainActivity ahora quiero iniciar la actividad de app1 desde app2 App2MainActivity
App2 App2MainActivity tiene dos botones b1 y b2 en clic b1 Quiero iniciar App1MainActivity y en clic b2 Quiero iniciar App1XyzActivity entonces el código para el botón b1 y b2 dentro de App2MainActivity es

 b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent i = new Intent(); String pkg = "com.xyz.app1"; String cls = "com.xyz.app1.App1MainActivity"; i.setComponent(new ComponentName(pkg, cls)); App2MainActivity.this.startActivity(i); } }); b2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent i = new Intent(); String pkg = "com.xyz.app1"; String cls = "com.xyz.app1.App1XyzActivity"; i.setComponent(new ComponentName(pkg, cls)); App2MainActivity.this.startActivity(i); } }); 

Ahora instalo ambas aplicaciones app1 & app2 y ejecuto la app2.
Cuando hago clic en el botón b1 entonces app1 App1MainActivity es iniciar pero si hago clic en el botón b2 se produce una excepción la razón es que no se puede iniciar de forma aleatoria cualquier actividad de otra aplicación, incluso si conoce el nombre del paquete y su nombre de clase pero puede iniciar Otra actividad principal de la aplicación si tiene filtro de intención con acción MAIN y si conoce su nombre de paquete y nombre de clase.

Sí, es posible, puede llamar a otra actividad de otro paquete como este.

Ver detalles aquí

 Intent intent = new Intent(Intent.ACTION_MAIN); intent.setClassName("np.birthday.com.order", "np.birthday.com.order.MainActivity");// intent.setClassName("Package NAme of another application", "np.birthday.com.order.MainActivity"); startActivity(intent); 

Sugeriría concatenar el nombre del paquete y de la clase con un punto;

Esto acelera copiar y pegar, por ejemplo. Mientras escribe pruebas jUnit.

 String packageName = getApplicationContext().getPackageName(); String className = "SomeActivity"; Intent intent = new Intent(); intent.setComponent(new ComponentName(packageName, packageName + "." + className)); startActivity(intent); 
  • Android: Consigue tiempo gastado por actividad
  • ¿Cómo puedo establecer un EditText a la entrada de sólo números hexadecimales?
  • Error al entregar el resultado ResultInfo {who_null, request = 1, result = -1, data = Intent {(tiene extras)}} a la actividad; NullPointerException
  • Crear un "Tweet este botón" para compartir información sólo en Twitter no es tan fácil
  • Android: cómo obtener información de la ubicación de los extras del paquete de intenciones cuando se utiliza LocationManager.requestLocationUpdates ()
  • intento androide no activar
  • De la notificación: AlertDialog sin UI
  • Aplicación de Android para aplicaciones de Twitter
  • Zbar con Android: el visor de la cámara del escáner permanece inactivo y negro después de mostrar la url en el navegador
  • ¿Se necesita permiso para usar Intent para llamar al teléfono?
  • El envío de una nueva intención a un receptor de radiodifusión da valores extras de intenciones anteriores
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.