2011-11-28 9 views
22

voglio dare all'utente la possibilità di condividere un'immagine e un testo con Twitter e Facebook.problemi di condivisione di testo combinato e l'immagine con SHARE INTENTI su Twitter

In realtà il mio codice può lanciare la quota intento di Android e se l'utente seleziona Facebook, tutto funziona bene, l'immagine è allegata e il testo viene visualizzato sul corpo del nuovo stato.

Ma c'è qualcosa che non va in Twitter, se metto solo un'immagine va benissimo, l'immagine viene rilevata da Twitter e caricata automaticamente su twipic, quindi twitter pubblica il link dell'immagine sul tweet. Ma se metto un'immagine e un testo, allora, Twitter non rileva l'immagine e mette solo il testo sul tweet, l'immagine viene ignorata. Che c'è?

questo è il mio codice:

Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
Uri screenshotUri = Uri.parse("file:///sdcard/image.jpg"); 
sharingIntent.setType("image/*"); 
sharingIntent.putExtra(Intent.EXTRA_TEXT, "Body text of the new status"); 
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri); 
startActivity(Intent.createChooser(sharingIntent, "Share image using")); 
+0

Date un'occhiata a questo post: http://stackoverflow.com/questions/2077008/android-intent-for-twitter-application/9151983#9151983 – Derzu

risposta

14

specificare il tipo MIME anche per il testo. "text/plain" è il tipo di dati di testo MIME. Prova a utilizzare "*/*" come MIME, in modo da poter inviare qualsiasi tipo di dati generico.

Prova anche a cambiare ACTION_SEND a ACTION_SEND_MULTIPLE specializzato per la consegna di più dati.

Leggi l'ACTION_SEND_MULTPLE spedizione MIME tipi:

http://developer.android.com/reference/android/content/Intent.html

+0

Ho provato con */* e non ha funzionato. Non posso utilizzare ACTION_SEND_MULTIPLE perché non esiste, almeno su Android 1.5. – NullPointerException

+1

Ora ho provato con ACTION_SEND_MULTIPLE e Android api 4, e non funziona. – NullPointerException

+0

hai provato "" */* "'? –

22

si può ancora provare con ACTION_SEND, senza utilizzare il ACTION_SEND_MULTIPLE.

ACTION_SEND_MULTIPLE provocato una forza vicino, quando ho cercato di creare nuovi intenti per la condivisione a Gmail, G +, ecc

Questo ha funzionato perfetto per me:

Intent shareIntent = new Intent(Intent.ACTION_SEND); 
    Uri uri = Uri.parse("file:///sdcard/image.jpg"); 
    shareIntent.setType("*/*"); 
    shareIntent.putExtra(Intent.EXTRA_TEXT, "Body text of the new status"); 
    shareIntent.putExtra(Intent.EXTRA_STREAM, uri); 
    return shareIntent; 
+0

come si costruisce l'uri? – Radu

+0

vedi modificato risposta – Paschalis

+1

@ Paschalis: provo il tuo merluzzo di merluzzo quando sto con facebook mi dà il toast come ** "per favore allegare solo foto o un singolo video" ** qualche idea come posso risolverlo? –

Problemi correlati