通过Mediastore共享文件

时间:2016-07-23 11:46:48

标签: android

我正在尝试在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"));

但是,当我选择选择器中建议的任何应用程序时,文件共享失败。 任何帮助将不胜感激。

0 个答案:

没有答案