我正在寻找一种在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,但它会启动文件夹,而不是特定图片。
谢谢
答案 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;
}
}
}