通过电子邮件意图权限发送图像或无法找到文件?

时间:2013-04-27 19:42:42

标签: android image email android-intent bitmap

我正在捕获relativelayout的绘图缓存并将其保存到文件中。该文件已经过测试,并且存在。使用此文件,我将图像作为电子邮件附件发送,但它无法正常工作。在它之前因为路径不合适而无法找到它之前我修复了它,现在logcat中没有错误。这是否是由于缺少权限,无法找到文件或发送Android不支持的电子邮件图像附件?

保存图片

    ImagePlace.setDrawingCacheEnabled(true);
    Bitmap picture = ImagePlace.getDrawingCache();
    try {       
    System.out.println(this.getActivity().getApplicationContext().getCacheDir());
picture.compress(CompressFormat.JPEG, 95, new FileOutputStream(new File(this.getActivity().getApplicationContext().getFilesDir(),"asdasdasdasdasdas.jpg")));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch blockm
e.printStackTrace();
}

启动电子邮件意图

  Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
  emailIntent.setType("image/*");
  emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Projectile Motion Solution");
  emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(html));
 // emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://your.package.name/" + R.raw.background));
   emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(this.getApplicationContext().getFilesDir()+"asdasdasdasdasdas.jpg"));
  startActivity(emailIntent);  

1 个答案:

答案 0 :(得分:0)

试试这个

Uri.parse(" file://" +文件路径)); 代替 的 Uri.parse(this.getApplicationContext()getFilesDir()+" asdasdasdasdasdas.jpg&#34));