2016-06-21 111 views
1

我收到一个错误,我不能在gmail.M中附加空文件。我试图建立一个简单的应用程序,当我点击按钮时,它显示我可以发送图像的选择,但下面的代码不起作用。 请帮我在android的新手。 代码:发送图像作为在android的电子邮件附件

 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); 

     } 

回答

0

尝试使用这样的:

shareIntent.setType("image/png"); 

通过使用这种意图知道,它会发送.png文件。

this link你可以找到所有的媒体类型的列表/亚型

+0

已经尝试过,但没有奏效。 – jaspreet

0

试试这个

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

您是否尝试过我的解决方案? –

0

试试这个片断

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")); 

一个Android:资源://是不是文件,并且可能你通过转换为文件然后回到Uri来搞乱你的Uri。

+0

这是什么C.PROJECT_PATH? – jaspreet

相关问题