Autore Topic: Problema Invio email con allegato .json (file non leggibile sul destinatario)  (Letto 1015 volte)

Offline ariostoi

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    xperia ray
  • Sistema operativo:
    win7
 Ciao ragazzi ho un piccolo problema: cerco di inviare un email con allegato un file .json contenente al suo interno la stringa json.

Ho testato l'invio tramite K-9 mail utilizzando l'emulatore, ma sul destinatario il file allegato è vuoto. Che sia un problema di gestione di k9?

Codice:

Codice (Java): [Seleziona]
             
emailButton.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                                               
                        String json = intent.getStringExtra("json");
                       
                        //creo il file con il json
                         try{
                               fos = openFileOutput(nome, getApplicationContext().MODE_PRIVATE);
                                fos.write(json.getBytes());
                                fos.close();
                         }
                        catch(Exception e){
                        System.out.println("Errore: " + e);
                        System.exit(1);
                         }
       
                        Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

                        String[] recipients = new String[]{"iiiiiiiiiii@tiscali.it", "",};

                        emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipients);
                        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Test");
                        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "This is email's message");

                        emailIntent.setType("plain/text");

                         Uri t= Uri.parse("file://"+path);
                         System.out.println(Uri.parse("file://"+path));
                        emailIntent.putExtra(Intent.EXTRA_STREAM,t);

                        startActivity(Intent.createChooser(emailIntent, "Send mail..."));



LOGCAT:
Codice: [Seleziona]
06-27 17:23:41.741: WARN/ActivityManager(59): Launch timeout has expired, giving up wake lock!
06-27 17:23:41.781: WARN/ActivityManager(59): Activity idle timeout for HistoryRecord{45102b98 com.android.gpsbased/.ActivityDetails}
06-27 17:23:42.061: INFO/System.out(11332): file:///data/data/com.android.gpsbased/files/zigzag.json
06-27 17:23:42.071: INFO/ActivityManager(59): Starting activity: Intent { act=android.intent.action.CHOOSER cmp=android/com.android.internal.app.ChooserActivity (has extras) }
06-27 17:23:42.511: INFO/ActivityManager(59): Starting activity: Intent { act=android.intent.action.SEND typ=plain/text flg=0x3000000 cmp=com.fsck.k9/.activity.MessageCompose (has extras) }
06-27 17:23:43.391: VERBOSE/k9(5265): /data/data/com.android.gpsbased/files/zigzag.json
06-27 17:23:43.431: VERBOSE/k9(5265): new attachment.size: 3416
06-27 17:23:44.081: INFO/ActivityManager(59): Displayed activity com.fsck.k9/.activity.MessageCompose: 1426 ms (total 1822 ms)
06-27 17:23:47.571: WARN/KeyCharacterMap(5265): No keyboard for id 0
06-27 17:23:47.571: WARN/KeyCharacterMap(5265): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
06-27 17:23:49.551: DEBUG/dalvikvm(5040): GC_EXPLICIT freed 251 objects / 11152 bytes in 165ms
06-27 17:23:51.771: INFO/MapActivity(11332): Handling network change notification:CONNECTED
06-27 17:23:51.771: ERROR/MapActivity(11332): Couldn't get connection factory client
06-27 17:23:51.791: WARN/InputManagerService(59): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@44f0da20 (uid=10042 pid=5265)
06-27 17:23:51.791: WARN/IInputConnectionWrapper(5265): showStatusIcon on inactive InputConnection
06-27 17:23:56.511: DEBUG/dalvikvm(11332): GC_FOR_MALLOC freed 10917 objects / 483200 bytes in 114ms
06-27 17:24:01.280: WARN/ActivityManager(59): Launch timeout has expired, giving up wake lock!
06-27 17:24:01.391: WARN/ActivityManager(59): Activity idle timeout for HistoryRecord{45102b98 com.android.gpsbased/.ActivityDetails}
06-27 17:24:05.080: DEBUG/dalvikvm(5265): GC_FOR_MALLOC freed 5174 objects / 384472 bytes in 193ms


« Ultima modifica: 27 Giugno 2011, 19:44:34 CEST da ariostoi »

Offline ariostoi

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    xperia ray
  • Sistema operativo:
    win7
Re:Problema Invio email con allegato .json (file non leggibile sul destinatario)
« Risposta #1 il: 28 Giugno 2011, 17:42:59 CEST »
+1
Ho risolto dopo numerose prove


quando si crea il file bisogna impsotare il livello di visibilità in questo modo su world_readable

Codice (Java): [Seleziona]
  fos = openFileOutput(nome+".json", getApplicationContext().MODE_WORLD_READABLE);
quando si inserisce l'allegato invece:

Codice (Java): [Seleziona]
emailIntent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(getFileStreamPath(nomefile+".json")));
emailIntent.setType("text/json");