【问题标题】:Android: Open image with Gallery but with other imagesAndroid:使用图库但使用其他图像打开图像
【发布时间】:2012-07-13 09:06:20
【问题描述】:
我正在寻找一种在 Android 中使用图库打开图像的方法。所以这就是我正在做的事情:
用户单击图像,因此我使用其“路径”启动意图:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, mimeType);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
并在特定图像上打开图库。
我的问题是我无法使用图库滑动到另一张图片。我必须返回我的应用程序并选择下一张图片才能查看它。
我已经看过这个:Built-in gallery in specific folder,但它会启动文件夹而不是特定图片。
谢谢
【问题讨论】:
标签:
android
android-gallery
【解决方案1】:
我的情况非常相似,我使用了与您相同的方法,但我没有像您一样设置数据,而是这样做了。画廊打开,我可以像你问的那样刷照片
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;
}
}
}