¿Hay algo similar a getsharekit.com para Android? Permite compartir URL a sitios de redes sociales. ¿Hay algo similar a esto o necesito codificar por separado para Facebook, Twitter y correo electrónico?Compartir URL a Facebook, Twitter y correo electrónico en Android?
Respuesta
No sé si eso es lo que quieres decir, pero se puede utilizar el Android incorporado en el menú para compartir ...
Puede compartir una URL a Facebook, Twitter, Gmail y más (siempre y cuando la aplicaciones están instaladas en el dispositivo) utilizando Intentos:
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_SUBJECT, "Sharing URL");
i.putExtra(Intent.EXTRA_TEXT, "http://www.url.com");
startActivity(Intent.createChooser(i, "Share URL"));
Si la aplicación que desea compartir a no está instalado en el dispositivo del usuario, por ejemplo - facebook, entonces usted tendrá que usar Facebook SDK.
Si desea que su actividad para manejar los datos de texto de otras aplicaciones compartidas, así, se puede añadir a su AndroidManifest.xml:
<activity android:name=".ShareLink">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
Espero que esto ayude!
Busco a una solución sin necesidad de utilizar las aplicaciones instaladas. – sunil
Esto no funciona con Facebook –
gracias, me he cambiado de text/html text/plain y esto funcionó bien, además de agregar sección de filtro intención de la actividad –
Para mí esto funciona bien:
startActivity(Intent.createChooser(new Intent(Intent.ACTION_SEND,
Uri.parse("http://...")),"Share URL"));// share url is on your own
no funciona y ofrece "ninguna aplicación puede realizar esta acción" –
No funciona: error "ninguna aplicación puede realizar esta acción" –
razón por la que no se pueden aplicar aplicaciones para esta acción es que no se ha especificado ningún tipo de mimetype. Aplicación de filtro ENVIAR acción en tipo. Si no lo especifica (texto/normal) ninguna aplicación interceptará esa intención –
para Facebook puede usar `
https://m.facebook.com/sharer.php?u=website_url&t=titleOfThePost
URL del sitio web podría ser cualquier cosa refereing a cualquier recurso, por ejemplo, si quieres obtener una imagen de Internet y publicarla en tu pared.
esperanza que esto ayudaría a
Puede probar este ...
private void shareTextUrl() {
Intent share = new Intent(android.content.Intent.ACTION_SEND);
share.setType("text/plain");
share.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
share.putExtra(Intent.EXTRA_SUBJECT, "Title Of The Post");
share.putExtra(Intent.EXTRA_TEXT, "<source url>");
startActivity(Intent.createChooser(share, "Share text to..."));
}
Aquí está mi aplicación, puede agregar más aplicaciones si lo desea con sólo añadir los nombres de paquetes. Este código también ordena las aplicaciones de acuerdo con sus nombres.
List<Intent> targetShareIntents = new ArrayList<Intent>();
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
PackageManager pm = getActivity().getPackageManager();
List<ResolveInfo> resInfos = pm.queryIntentActivities(shareIntent, 0);
if (!resInfos.isEmpty()) {
System.out.println("Have package");
for (ResolveInfo resInfo : resInfos) {
String packageName = resInfo.activityInfo.packageName;
Log.i("Package Name", packageName);
if (packageName.contains("com.twitter.android") || packageName.contains("com.facebook.katana")
|| packageName.contains("com.whatsapp") || packageName.contains("com.google.android.apps.plus")
|| packageName.contains("com.google.android.talk") || packageName.contains("com.slack")
|| packageName.contains("com.google.android.gm") || packageName.contains("com.facebook.orca")
|| packageName.contains("com.yahoo.mobile") || packageName.contains("com.skype.raider")
|| packageName.contains("com.android.mms")|| packageName.contains("com.linkedin.android")
|| packageName.contains("com.google.android.apps.messaging")) {
Intent intent = new Intent();
intent.setComponent(new ComponentName(packageName, resInfo.activityInfo.name));
intent.putExtra("AppName", resInfo.loadLabel(pm).toString());
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, "https://website.com/");
intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.share_text));
intent.setPackage(packageName);
targetShareIntents.add(intent);
}
}
if (!targetShareIntents.isEmpty()) {
Collections.sort(targetShareIntents, new Comparator<Intent>() {
@Override
public int compare(Intent o1, Intent o2) {
return o1.getStringExtra("AppName").compareTo(o2.getStringExtra("AppName"));
}
});
Intent chooserIntent = Intent.createChooser(targetShareIntents.remove(0), "Select app to share");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetShareIntents.toArray(new Parcelable[]{}));
startActivity(chooserIntent);
} else {
Toast.makeText(getActivity(), "No app to share.", Toast.LENGTH_LONG).show();
}
}
Se puede utilizar también ShareCompat clase de la biblioteca de soporte.
ShareCompat.IntentBuilder.from(activity)
.setType("text/plain")
.setChooserTitle("Share URL")
.setText("http://www.url.com")
.startChooser();
https://developer.android.com/reference/android/support/v4/app/ShareCompat.html
- 1. Phonegap - Funcionalidad de compartir en correo electrónico, Twitter y Facebook
- 2. Compartir en Facebook/Twitter/Función de correo electrónico usando PhoneGap/jQueryMobile
- 3. Android facebook/twitter botón de compartir
- 4. URL para componer Facebook de correo electrónico/mensaje (componer correo electrónico a través de URL-params)
- 5. Compartir mapa de bits() en android a twitter, facebook, mail
- 6. Facebook y twitter compartir para la web móvil
- 7. Facebook compartir url problema miniatura
- 8. Obtener nombre/Apellido/Correo electrónico de Twitter usando OAuth
- 9. Android compartir intento para Facebook- compartir texto Y el enlace
- 10. Facebook API - sin correo electrónico en respuesta
- 11. Android Share Intent Chooser - Compartir TEXTO con Facebook/Twitter Redes sociales, etc.
- 12. Cómo compartir aplicaciones web con Facebook, Twitter, etc.
- 13. Facebook compartir 'clicable' url-link problema
- 14. Enviar correo electrónico a múltiples direcciones Android
- 15. Diferencia entre la intención de Twitter y las URL de compartir en Twitter
- 16. django-social-auth: no guardo el correo electrónico de twitter
- 17. Buscar usuario de Facebook (url a la página de perfil) por dirección de correo electrónico conocida
- 18. Facebook oauth recuperar correo electrónico de usuario
- 19. Facebook Callback JSON no devuelve el correo electrónico a veces
- 20. Facebook Graph API y el correo electrónico de un amigo
- 21. Botón de compartir de Twitter
- 22. Cómo obtener la dirección de correo electrónico del usuario de twitter con twitter api
- 23. ¿Cómo agregar el botón compartir en android?
- 24. Enviar correo electrónico programáticamente en Android
- 25. Enviando correo electrónico usando GMail en android
- 26. OmniAuth - Facebook login no suministrar correo electrónico en user_info
- 27. Dirección de correo electrónico faltante intermitente en Facebook API
- 28. ¿Por qué Facebook está devolviendo la página incorrecta (afecta a la URL Me gusta y a compartir de Facebook)?
- 29. ¿La intención de compartir Facebook en Android aún está rota?
- 30. Facebook Logout Url
algo mejores respuestas para cada caso se pueden encontrar en las siguientes preguntas: [Facebook] (http://stackoverflow.com/questions/7545254/android-and-facebook-share-intent) [Twitter] (http://stackoverflow.com/questions/2077008/android-intent-for-twitter-application), [e-mail] (http://stackoverflow.com/questions/8701634/send-email-intent) (incluya la URL en el cuerpo del correo electrónico usando 'Intent.EXTRA_TEXT'). – Jonik
Esta es mi solución que está trabajando bien sólo para compartir la URL en Facebook, http://stackoverflow.com/a/29529335/513413 – Hesam