2016-06-21 7 views
1

Ich erhalte einen Fehler, dass ich keine leere Datei in Gmail anhängen kann. Ich versuche, einfache App zu bauen, in dem, wenn ich auf den Button klicke Auswahl anzeigen, mit denen ich Bild senden kann, aber Der folgende Code funktioniert nicht. Bitte helfen, ich bin Anfänger in Android. Code:Bild als E-Mail-Anhang in Android senden

 if(view.getId()==R.id.SendImage) 
     { 
     Uri imageUri = Uri.parse("android:resource://com.example.jaspreet.intentstest.drawable/"+R.drawable.image); 
     intent=new Intent(android.content.Intent.ACTION_SEND); 
     intent.setType("application/image"); 
     intent.putExtra(Intent.EXTRA_STREAM,imageUri); 
     intent.putExtra(Intent.EXTRA_TEXT,"Hey i have attached this image"); 
     chooser=Intent.createChooser(intent,"Send Image"); 
     startActivity(chooser); 

     } 

Antwort

0

Versuchen Sie dies mit:

shareIntent.setType("image/png"); 

diese die Absicht Durch die Verwendung wissen, dass es .png-Datei senden.

Auf this link Sie eine Liste aller Medientypen finden/Subtypen

+0

Bereits versucht, aber hat nicht funktioniert. – jaspreet

0

Versuchen Sie, diese

Bitmap b =BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher); 

Intent share = new Intent(Intent.ACTION_SEND); 
share.setType("image/jpeg"); 

ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
b.compress(Bitmap.CompressFormat.JPEG, 100, bytes); 

String path = MediaStore.Images.Media.insertImage(getContentResolver(), 
       b, "Title", null); 

Uri imageUri = Uri.parse(path); 
share.putExtra(Intent.EXTRA_STREAM, imageUri); 
startActivity(Intent.createChooser(share, "Select")); 
+0

Haben Sie meine Lösung versucht? –

0

Dieser Code-Schnipsel Versuchen

Intent share = new Intent(Intent.ACTION_SEND); 
    share.setType("image/jpeg"); 
    share.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://" + C.PROJECT_PATH + "/drawable/" + R.drawable.icon_to_share); 
    startActivity(Intent.createChooser(share, "Select")); 

ein Android: resource: // ist keine Datei, und wahrscheinlich vermasselst du deinen Uri, indem du ihn in eine Datei und dann zurück in einen Uri konvertierst.

+0

Was ist C.PROJECT_PATH hier? – jaspreet