2017-12-31 39 views
0

Ich habe versucht, eine mehrzeilige Text mit dem folgenden Code, aber nur die letzte Zeile erscheint. val sharingIntent = Intent(Intent.ACTION_SEND) sharingIntent.setType("text/plain") sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Found this cool deal! Check it out.") sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, TITLE) sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "MRP : $PRICE") sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Deal Price : $DEAL_PRICE") startActivity(Intent.createChooser(sharingIntent, "Share using")) Was ist App mehrzeiligen Text teilen Absicht

Antwort

1

Wenn Sie putExtra(key, value) anrufen, wird jeder vorhergehende Wert unter demselben key gelöscht. Versuchen Sie, eine einzelne Zeichenfolge setzen, die den gesamten Text enthält, die Sie wollen:

sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, 
    "Found this cool deal! Check it out.\n" + 
    TITLE + "\n" + 
    "MRP : $PRICE\n" + 
    "DEAL PRICE : $DEAL_PRICE"); 

Wie für den HTML-Inhalt, müssen Sie uns den Code zeigen Ihnen verwendet. Wahrscheinlich möchten Sie jedoch nicht fromHtml() verwenden; Das konvertiert HTML in formatierten Text, was vermutlich nicht das ist, was WhatsApp erwartet. Versuchen Sie, nur das unbearbeitete HTML mit dem richtigen MIME-Typ zu senden.

+0

Danke! Das funktioniert. Ich entschied, dass ich den HTML-Teil in einer getrennten Frage stellen werde. – Kotlinboy

1

Der Grund, warum nur die letzte Zeile angezeigt wird, ist, dass eine einzelne Absicht nur einen Wert für einen Schlüssel haben kann. Jedes Mal, wenn Sie putExtra (EXTRA_TEXT, foo) aufrufen, überschreiben Sie das vorherige. Wenn Sie mehrere Zeilen senden möchten, senden Sie sie als einzelne Zeichenfolge mit '\ n' Zeichen.

Wie zum Senden von HTML-müssen Sie ihm sagen, dass Sie HTML senden. Sie sagen es, dass Sie reinen Text senden. Ändern Sie den Mime-Typ in Text/HTML, wenn Sie HTML senden. (Hinweis: Ich habe keine Ahnung, ob Whatsapp HTML unterstützt oder nicht, aber so würde man HTML an jede App senden, die es unterstützt).

Verwandte Themen