2012-07-13 169 views
2

我正在寻找一种方式在Android中使用图库打开图像。因此,这里是我在做什么: 用户点击的图像,所以我推出一个意图凭借其“路径”: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,但它会启动文件夹而不是特定的图片。

谢谢

+0

没人?请 :) – stage 2012-07-17 08:55:21

回答

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; 
      } 
     } 
    } 
相关问题