link intent data app another android share

intent - Compartir aplicación "enlace" en Android



share button android kotlin (10)

Compartir aplicación con título es tu nombre_aplicación, el contenido es tu enlace de aplicación

private static void shareApp(Context context) { final String appPackageName = BuildConfig.APPLICATION_ID; final String appName = context.getString(R.string.app_name); Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType("text/plain"); String shareBodyText = "https://play.google.com/store/apps/details?id=" + appPackageName; shareIntent.putExtra(Intent.EXTRA_SUBJECT, appName); shareIntent.putExtra(Intent.EXTRA_TEXT, shareBodyText); context.startActivity(Intent.createChooser(shareIntent, context.getString(R.string .share_with))); }

Deseo que el usuario de mi aplicación pueda compartir / recomendar mi aplicación a otros usuarios. Uso el intento ACTION_SEND. Agrego texto sin formato que dice algo como: instale esta aplicación genial. Pero no puedo encontrar una manera de permitirles a los usuarios ir directamente a la pantalla de instalación del mercado, por ejemplo. Todo lo que puedo proporcionarles es un enlace web o algo de texto. En otras palabras, estoy buscando una forma muy directa para que los usuarios de Android tengan mi aplicación instalada.

Gracias por cualquier ayuda / punteros,

Thomas


En realidad, la mejor manera de esquilarte la aplicación entre los usuarios, Google (firebase) probó una nueva tecnología Firebase Dynamic Link. A través de varias líneas puedes hacer que esta sea la documentación https://firebase.google.com/docs/dynamic-links/ y el código es

Uri dynamicLinkUri = dynamicLink.getUri(); Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() .setLink(Uri.parse("https://www.google.jo/")) .setDynamicLinkDomain("rw4r7.app.goo.gl") .buildShortDynamicLink() .addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() { @Override public void onComplete(@NonNull Task<ShortDynamicLink> task) { if (task.isSuccessful()) { // Short link created Uri shortLink = task.getResult().getShortLink(); Uri flowchartLink = task.getResult().getPreviewLink(); Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_TEXT, shortLink.toString()); intent.setType("text/plain"); startActivity(intent); } else { // Error // ... } } });


Esto te permitirá elegir entre correo electrónico, whatsapp o lo que sea.

try { Intent i = new Intent(Intent.ACTION_SEND); i.setType("text/plain"); i.putExtra(Intent.EXTRA_SUBJECT, "My application name"); String sAux = "/nLet me recommend you this application/n/n"; sAux = sAux + "https://play.google.com/store/apps/details?id=the.package.id /n/n"; i.putExtra(Intent.EXTRA_TEXT, sAux); startActivity(Intent.createChooser(i, "choose one")); } catch(Exception e) { //e.toString(); }


Llamar a este método:

public static void shareApp(Context context) { final String appPackageName = context.getPackageName(); Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, "Check out the App at: https://play.google.com/store/apps/details?id=" + appPackageName); sendIntent.setType("text/plain"); context.startActivity(sendIntent); }


Para completar automáticamente el nombre de la aplicación y la ID de la aplicación, puede usar esto:

int applicationNameId = context.getApplicationInfo().labelRes; final String appPackageName = context.getPackageName(); Intent i = new Intent(Intent.ACTION_SEND); i.setType("text/plain"); i.putExtra(Intent.EXTRA_SUBJECT, activity.getString(applicationNameId)); String text = "Install this cool application: "; String link = "https://play.google.com/store/apps/details?id=" + appPackageName; i.putExtra(Intent.EXTRA_TEXT, text + " " + link); startActivity(Intent.createChooser(i, "Share link:"));


Para ser más exactos

Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.android.example")); startActivity(intent);

o si quieres compartir tus otras aplicaciones de tu desarrollador. cuenta que puede hacer algo como esto

Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("https://play.google.com/store/apps/developer?id=Your_Publisher_Name")); startActivity(intent);


Sé que esta pregunta ha sido respondida, pero me gustaría compartir una solución alternativa:

Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType("text/plain"); String shareSubText = "WhatsApp - The Great Chat App"; String shareBodyText = "https://play.google.com/store/apps/details?id=com.whatsapp&hl=en"; shareIntent.putExtra(Intent.EXTRA_SUBJECT, shareSubText); shareIntent.putExtra(Intent.EXTRA_TEXT, shareBodyText); startActivity(Intent.createChooser(shareIntent, "Share With"));



Thomas,

Desea proporcionarles a sus usuarios un enlace market:// que los llevará directamente a la página de detalles de su aplicación. Lo siguiente es de developer.android.com:

Cargando la página de detalles de una aplicación

En Android Market, cada aplicación tiene una página de Detalles que proporciona una descripción general de la aplicación para los usuarios. Por ejemplo, la página incluye una breve descripción de la aplicación y capturas de pantalla en uso, si la proporciona el desarrollador, así como comentarios de los usuarios e información sobre el desarrollador. La página de Detalles también incluye un botón "Instalar" que permite al usuario activar la descarga / compra de la aplicación.

Si desea derivar al usuario a una aplicación específica, su aplicación puede llevar al usuario directamente a la página de detalles de la aplicación. Para hacerlo, su aplicación envía una intención ACTION_VIEW que incluye un URI y un parámetro de consulta en este formato:

mercado: // details? id =

En este caso, el parámetro packagename es el nombre completo del paquete de la aplicación de destino, como se declara en el atributo package del elemento manifest en el archivo de manifiesto de la aplicación. Por ejemplo:

mercado: // detalles? id = com.example.android.jetboy

Fuente: http://developer.android.com/guide/publishing/publishing.html


finalmente este código me funciona para abrir el cliente de correo electrónico de nuestro Android. prueba este fragmento.

Intent testIntent = new Intent(Intent.ACTION_VIEW); Uri data = Uri.parse("mailto:?subject=" + "Feedback" + "&body=" + "Write Feedback here....." + "&to=" + "[email protected]"); testIntent.setData(data); startActivity(testIntent);