2016-06-21 119 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

相關問題