Android:使用图库打开图像,但使用其他图像

时间:2012-07-13 09:06:21

标签: android android-gallery

我正在寻找一种在Android中使用Gallery打开图像的方法。所以这就是我正在做的事情: 用户单击图像,因此我使用其“路径”启动了一个意图:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, mimeType);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

图库将打开特定图片。

我的问题是我无法使用图库滑动到另一张图片。我必须回到我的应用程序并选择下一张图片才能查看。

我已经看过这个:Built-in gallery in specific folder,但它会启动文件夹,而不是特定图片。

谢谢

1 个答案:

答案 0 :(得分:0)

我处于非常相似的情况我使用了与你相同的方法,但不是像你一样设置数据,我这样做了。 Galery打开了,我可以像你问的那样滑动照片

Uri uri = GalleryPreviewButton.getImageContentUri(getContext());
Intent galeryIntent = new Intent(Intent.ACTION_VIEW );
galeryIntent.setDataAndType(uri, "image/*");        
this.startActivity(galeryIntent);

这是我用来从文件中获取Uri的方法;

public static Uri getImageContentUri(Context context) {
        String filePath = CURRENT_PATH;
        Cursor cursor = context.getContentResolver().query(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                new String[] { MediaStore.Images.Media._ID },
                MediaStore.Images.Media.DATA + "=? ",
                new String[] { filePath }, null);
        if (cursor != null && cursor.moveToFirst()) {
            int id = cursor.getInt(cursor.getColumnIndex(MediaStore.MediaColumns._ID));
            cursor.close();
            return Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "" + id);
        } else {
            try{
                ContentValues values = new ContentValues();
                values.put(MediaStore.Images.Media.DATA, filePath);
                return context.getContentResolver().insert(
                        MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
            } catch (Exception e){
                return null;
            }
        }
    }