2017-02-08 2 views
0

Ich füge Freigabefunktion in der App hinzu. Unten ist mein Code:Android: Intent createChooser funktioniert nicht richtig

public static void shareData(String title, String message, Uri imageUri, Activity activity) { 
    try { 
     Intent sendIntent = new Intent(Intent.ACTION_SEND); 
     sendIntent.putExtra(Intent.EXTRA_TITLE, title); 
     sendIntent.putExtra(Intent.EXTRA_SUBJECT, message); 
     if (imageUri != null) { 
      Logger.errorMessage(ShareUtil.class.getSimpleName(), "share if"); 
      sendIntent.putExtra(Intent.EXTRA_STREAM, imageUri); 
      sendIntent.setType("image/*"); 
     } else { 
      Logger.errorMessage(ShareUtil.class.getSimpleName(), "share else"); 
      sendIntent.setType("text/plain"); 
     } 
     activity.startActivity(Intent.createChooser(sendIntent, "Share using")); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     Toast.makeText(activity, "No App found to share", Toast.LENGTH_LONG).show(); 
    } 
} 

Dies ist die Liste der Anwendungen zeigt, aber wenn ich eine App auswählen, wird der Titel und die Nachricht nicht gesendet. Ich verstehe nicht, was ich falsch mache.

Antwort

1

Intent.EXTRA_SUBJECT wird hauptsächlich in E-Mails verwendet. Versuchen Sie, es durch Intent.EXTRA_TEXT zu ersetzen. Dies funktioniert in den meisten Apps.

+0

Hallo, ich habe eine Abfrage. Ich muss die Daten zusammen mit Bild teilen. Wie Sie oben in meinem Code gesehen haben, übergebe ich image uri. Das Bild wird von der URL geladen. Um das zu tun, muss ich zuerst das Bild herunterladen. Gibt es noch eine Alternative? – Nitish

+0

Entschuldigung, ich glaube nicht, dass es einen besseren Weg gibt. – shhp

Verwandte Themen