2009-08-17 6 views
7

So che una variante di questa domanda è stato chiesto prima trying-to-attach-a-file-from-sd-card-to-email Ma la soluzione ha offerto, vale a dire un riavvio non sembra farlo per me. Ho visto un buon numero di post di gruppo che supportano questo problema. Posso solo assumere che l'OP per la domanda collegata abbia apportato alcune altre modifiche, possibilmente al manifest che ha permesso al suo codice di funzionare.Android Invia Intent allegando foto da sdcard come file 0 lunghezza

Il comportamento che sto vedendo è l'intento dell'e-mail che gestisce l'allegato del jpeg dalla sdcard ma che si occupa di esso come un file di lunghezza 0 che viene scartato quando inviato. Ho provato setType come jpeg/image e image/jpeg come ho visto espresso in entrambi i modi.

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
    sendIntent.setType("jpeg/image"); 
    sendIntent.putExtra(Intent.EXTRA_EMAIL, "[email protected]"); 
    sendIntent.putExtra(Intent.EXTRA_SUBJECT, R.string.email_subjectStart + 
      mWhatYouSpotted.getSelectedItem().toString() + 
      R.string.email_subjectEnd); 
    sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/"+ sPhotoFileName)); 
    sendIntent.putExtra(Intent.EXTRA_TEXT, sEmailBody); 

    startActivity(Intent.createChooser(sendIntent, "Email:")); 

Ecco il logcat ADB ho avuto quando ho provato l'ultima:

V/DumbDumpersMain (3972): sPhotoUri = file: //sdcard/DumbDumpers/DumbDumper.jpg I/ActivityManager (56): Attività iniziale: Intent {action = android.intent.action.CHOOSER comp = {android/com.android.internal.app.ChooserActivity} (include extra)} I/ActivityManager (56): Attività di avvio: Intent {action = android.intent.action.SEND type = jpeg/image flags = 0x3000000 comp = {com.google.android.gm/com.google.android.gm.ComposeActivityGmail} (include extra)} I/ActivityManager (56): attività di avvio : Intent {action = android.intent.action.SEND type = jpeg/image flags = 0x28 00000 comp = {com.google.android.gm/com.google.android.gm.ComposeActivity} (ha extra)} D/gmail-ls (120): MailProvider.query: content: // gmail-ls/labels/[email protected] (null, null) D/Gmail (2507): URI TROVATO: file: //sdcard/DumbDumpers/DumbDumper.jpg

ho sbattere la testa contro questo per più di una settimana ora e ancora non riesco a determinare cosa c'è di sbagliato. Qualche idea?

risposta

7

Avrebbe dovuto fare più ricerche qui prima di postare; problem sending an email with an attachment programmatically risolto per me. Ho solo file://sdcard/DumbDumpers/DumbDumper.jpg, che sembra ancora fastidioso come ho collegato con successo l'immagine. Avete bisogno di un extra / per farlo funzionare:

file:///sdcard/DumbDumpers/DumbDumper.jpg 
    ^
4

tuo tipo intento è sbagliato. Dovrebbe essere

sendIntent.setType("image/jpg"); 
+2

"image/jpeg" è il tipo corretto per JPG –

Problemi correlati