it-swarm.com.de

Wie kann ich von meiner App aus Text an WhatsApp weitergeben?

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?

36
user1755441

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.");
}
95
Sonny Ng

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).

14
Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("text/plain");
    share.putExtra(Intent.EXTRA_TEXT, "Your text");
    startActivity(Intent.createChooser(share, "Share using"));
6
Rutul Mehta
1
Nathalie Lima

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;)

1
Rako
  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);
1
Amrish Kakadiya

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")));
        }
    }
0
D Prince
 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
0
Asim