我有一个fragment
,应该在其中捕获图像并将其设置在imageview
中,然后将该图像发送到特定的邮件。
我获得了第一部分,可以在其中捕获图像并将其显示在imageview
中。
但是无法通过邮件将该图像发送给其他人。
请帮助
答案 0 :(得分:1)
使用此
首先在imageview
上启用图形缓存启用
final Bitmap bitmap = imageView.getDrawingCache();
在按钮上单击以共享以执行此操作
File dir = new File(Environment.getExternalStorageDirectory(), "AppNameFolder");
if (!dir.exists()) {
dir.mkdirs();
}
final File img = new File(dir, "image" + ".jpg");
if (img.exists()) {
img.delete();
}
final OutputStream outStream = new FileOutputStream(img);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outStream);
outStream.flush();
outStream.close();
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/*");
Uri photoURI = FileProvider.getUriForFile(context, getPackageName() + ".my.package.name.provider", img);
share.putExtra(Intent.EXTRA_STREAM, photoURI);
startActivity(Intent.createChooser(share, "Share image"));
注意:- 确保您还使用了文件提供程序和读取/写入权限
</application>
....
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="android.getqardio.com.gmslocationtest"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
</application>
xml/provider_paths
在哪里
<?xml version="1.0" encoding="utf-8"?>
<paths>
<files-path
name="share"
path="external_files"/>
</paths>
答案 1 :(得分:0)
您可以使用以下代码通过邮件将图像作为附件发送:
Intent i = new Intent(Intent.ACTION_SEND);
i.putExtra(Intent.EXTRA_EMAIL, new String[]{"abc@gmail.com"});
i.putExtra(Intent.EXTRA_SUBJECT,"Image as an attachment via mail");
i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(pic));
i.setType("image/png");
startActivity(Intent.createChooser(i,"Share an Image"));
快乐编码:)
答案 2 :(得分:0)
Bitmap icon = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
icon.compress(Bitmap.CompressFormat.JPEG, 50, bytes);
File f = new File(Environment.getExternalStorageDirectory() + File.separator + "temporary_file.jpg");
try {
f.createNewFile();
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
Uri screenshotUri = Uri.fromFile(f);
sharingIntent.setType("image/jpg");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
context.startActivity(Intent.createChooser(sharingIntent, "share image"));
答案 3 :(得分:0)
from selenium.webdriver.remote.file_detector import UselessFileDetector
wd.file_detector = UselessFileDetector()
image_upload_input = wd.find_element_by_xpath("//*[@id='image']")
image_upload.send_keys(os.getcwd().replace("fixture", "") + "images/variant_1.png")