我正在尝试在MediaStore中插入一个文件,然后使用生成的uri共享同一个文件。
用于插入文件
ImageView image = (ImageView) findViewById(R.id.image);
Bitmap bitmap = ((BitmapDrawable) image.getDrawable()).getBitmap();
String fileName = "myFile.jpg";
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 80, bytes);
File enternalStroageDir = Environment.getExternalStorageDirectory();
File file = new File(enternalStroageDir + File.separator + fileName);
FileOutputStream fileOutputStream = null;
try {
file.createNewFile();
fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(bytes.toByteArray());
ContentResolver cr = getContentResolver();
String imagePath = file.getAbsolutePath();
String name = file.getName();
String description = "My bitmap created by Android-er";
String savedURL = MediaStore.Images.Media
.insertImage(cr, imagePath, name, description);
现在,当我在图库中检查时,插入工作正常。 另外,为了共享相同的图像,我添加了以下代码。
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("image/jpeg");
intent.putExtra(Intent.EXTRA_STREAM, savedURL);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(intent, "SendText"));
但是,当我选择选择器中建议的任何应用程序时,文件共享失败。 任何帮助将不胜感激。