保存图像后,Android Gallery不会刷新

时间:2016-12-08 08:58:20

标签: java android

我正在尝试保存图像,并向图库提醒有关新图像的信息。图像不会立即显示在库中,但可能需要几个小时才能刷新。我使用以下代码:

    String title = "title";
    String r = MediaStore.Images.Media.insertImage(getContentResolver(), State.pictureWithDekor, title, title);
    Uri uri = Uri.parse(r);
    MediaScannerConnection.scanFile(this,
            new String[] { uri.getPath() }, null,
            new MediaScannerConnection.OnScanCompletedListener() {

                public void onScanCompleted(String path, Uri uri) {
                    Log.i("TAG", "Finished scanning " + path);
                }
            });

r insertImage之后的content://media/external/images/media/2082的值,onScanCompleted中的urinull

我做错了什么?

1 个答案:

答案 0 :(得分:0)

问题是从MediaStore.Images.Media.insertImage返回的路径不是一条神奇的路径。要获得真正的路径,请使用:

public String getRealPathFromURI(Context context, Uri contentUri) {
    Cursor cursor = null;
    try {
        String[] proj = { MediaStore.Images.Media.DATA };
        cursor = context.getContentResolver().query(contentUri,  proj, null, null, null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        return cursor.getString(column_index);
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
}

来源:Get filename and path from URI from mediastore

相关问题