Ich entwickle eine App mit Funktionen zum Teilen von Text. Dies funktioniert gut, außer für WhatsApp. Was soll ich machen? Gibt es dafür eine spezifische API?
Sie können die Absicht verwenden, um dies zu tun . Keine Notwendigkeit, Whatsapp API zu verwenden. Hoffe das hilft, danke.
Intent whatsappIntent = new Intent(Intent.ACTION_SEND);
whatsappIntent.setType("text/plain");
whatsappIntent.setPackage("com.whatsapp");
whatsappIntent.putExtra(Intent.EXTRA_TEXT, "The text you wanted to share");
try {
activity.startActivity(whatsappIntent);
} catch (Android.content.ActivityNotFoundException ex) {
ToastHelper.MakeShortText("Whatsapp have not been installed.");
}
Es gibt zwei Möglichkeiten, um WhatsApp zu integrieren:
Über ein benutzerdefiniertes URL-Schema
Durch das Intentsystem von Android.
Wenn Sie eine Website haben und einen WhatsApp-Chat mit einer vordefinierten Nachricht öffnen möchten, können Sie dazu unser benutzerdefiniertes URL-Schema verwenden. Whatsapp: // send? Text = gefolgt von dem zu sendenden Text wird geöffnet, WhatsApp wird geöffnet, der Benutzer kann einen Kontakt auswählen und das Eingabefeld mit dem angegebenen Text vorab füllen.
Wie die meisten Social Apps auf Android lauscht WhatsApp der Absicht, Medien und Text gemeinsam zu nutzen. Erstellen Sie einfach eine Absicht, um beispielsweise Text zu teilen, und WhatsApp wird von der Systemauswahl angezeigt:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);
Wenn Sie es jedoch vorziehen, direkt an WhatsApp zu teilen und die Systemauswahl zu umgehen, können Sie dies mit setPackage tun:
sendIntent.setPackage("com.whatsapp");
Dies wird einfach festgelegt, bevor Sie startActivity (sendIntent) aufrufen.
Bitte beachten Sie den folgenden Link. Offizielle WhatsApp-Seite: https://www.whatsapp.com/faq/de/Android/28000012 ,
Wenn Sie Text für bestimmte WhatsApp-Kontakte freigeben möchten, beachten Sie bitte den folgenden Code.
private void openWhatsApp() {
String smsNumber = "7****"; //without '+'
try {
Intent sendIntent = new Intent("Android.intent.action.MAIN");
//sendIntent.setComponent(new ComponentName("com.whatsapp", "com.whatsapp.Conversation"));
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.putExtra("jid", smsNumber + "@s.whatsapp.net"); //phone number without "+" prefix
sendIntent.setPackage("com.whatsapp");
startActivity(sendIntent);
} catch(Exception e) {
Toast.makeText(this, "Error/n" + e.toString(), Toast.LENGTH_SHORT).show();
}
}
Weitere Informationen finden Sie unter dem Link Senden Sie den Text an einen bestimmten Kontakt (WhatsApp).
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, "Your text");
startActivity(Intent.createChooser(share, "Share using"));
Sie können die WhatsApp-API verwenden Android: http://www.whatsapp.com/faq/de/Android/28000012 IOS: http://www.whatsapp.com/faq/de/iphone/23559013
Ich bin nicht zu 100% sicher ... aber ich fürchte, es gibt keine offizielle API. Ich wollte auch eine Funktion "Senden Sie uns einen WhatsApp" implementieren, aber ich gebe eine Weile auf, bis WhatsApp.inc ein offizielles veröffentlicht
Es gibt einige nicht-offizielle API, aber ich weiß nicht, ob Sie das wollen ...
http://www.whatsapp-api.com/developers.php
https://github.com/venomous0x/WhatsAPI
viel glück .... und wenn sie etwas entdecken, lass es mich wissen;)
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
sendIntent.setPackage("com.whatsapp");
startActivity(sendIntent);
Wenn das Gerät des Benutzers nicht über die Whatsapp-App verfügt, haben Sie die ActivityNotFoundException
Wenn der Benutzer die WhatsApp-App nicht auf seinem Gerät hat, dann i Ich denke, Sie müssen den Benutzer zum Download whatsapp vom Spiel aus bewegen Geschäft
public void shareViaWhatsApp() {
Intent whatsappIntent = new Intent(Intent.ACTION_SEND);
whatsappIntent.setType("text/plain");
whatsappIntent.setPackage("com.whatsapp");
whatsappIntent.putExtra(Intent.EXTRA_TEXT, "Application of social rating share with your friend");
try {
Objects.requireNonNull(getActivity()).startActivity(whatsappIntent);
} catch (Android.content.ActivityNotFoundException ex) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=com.whatsapp")));
}
}
message = "this msg is sent from My App Time Track"
val intent = Intent()//Empty as we don't know the destination i.e implicit intent
intent.action = Intent.ACTION_SEND//intent will do work of sending something
intent.putExtra(Intent.EXTRA_TEXT, message)//send given message
intent.putExtra(Intent.EXTRA_SUBJECT,"Download Time Track App")//give the subject for your message
//Intent.Extra_Text is actually a globol key
intent.type = "plane/text"//type of intent
startActivity(Intent.createChooser(intent,"Send to: "))//createChooser is a dialogBox which shows app available to send data