如何将生成的QR码直接保存到图库中(不带SD卡且不在包装名称下)

时间:2019-01-16 08:01:52

标签: android qr-code

private void storeImage(Bitmap image) {
    File pictureFile = getOutputMediaFile();
    if (pictureFile == null) {
       // Log.d(TAG, "Error creating media file, check storage permissions: ");// e.getMessage());
        return;
    }
    try {
        FileOutputStream fos = new FileOutputStream(pictureFile);
        image.compress(Bitmap.CompressFormat.PNG, 90, fos);
        fos.close();
    } catch (FileNotFoundException e) {
       // Log.d(TAG, "File not found: " + e.getMessage());
    } catch (IOException e) {
       // Log.d(TAG, "Error accessing file: " + e.getMessage());
    }
}

我已使用上面的代码将生成的QR保存在Gallery中。而且它也在工作。

但是它正在保存在Internal Storage/package_name/Files/mtImage.jpg中。

我必须去文件管理器才能查看。我想直接在图库中查看它,但没有任何SD卡。

请帮助我。

1 个答案:

答案 0 :(得分:0)

下面的代码有助于将位图图像保存到图库

public static void addImageToGallery(最终字符串filePath,最终Context上下文){

    ContentValues values = new ContentValues();

    values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis());
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
    values.put(MediaStore.MediaColumns.DATA, filePath);

    context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
}