2013-02-06 111 views
0

在我的應用我想從僅在Gridview.I Camera文件夾顯示圖像寫了下面的代碼導入圖像: -導入圖像

String[] projection = { MediaStore.Images.Thumbnails._ID, }; 

     Cursor mImageCursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, null); 

    if (mImageCursor != null) 
    { 

     mImageCursor.moveToFirst(); 

     for (int i = 0; i < mImageCursor.getCount(); i++) 
     { 
      Images im=new Images(); 
      int imageId = mImageCursor.getInt((mImageCursor.getColumnIndex(MediaStore.Images.Media._ID))); 
      Bitmap bm = MediaStore.Images.Thumbnails.getThumbnail(getContentResolver(), 
        imageId, MediaStore.Images.Thumbnails.MINI_KIND, null); 
      im.setBitmap(bm); 
      arrayOfImages.add(im); 

      mImageCursor.moveToNext(); 
     } 
    } 

但這代碼全部進口來自畫廊的圖像。 但我想從相機文件夾導入圖像。 p

+0

**此博客可以幫助你。** http://startandroiddevelopment.blogspot.in/2013/10/importing-image-from-gallery.html – 2013-11-01 11:28:11

回答

4

如果您只想拍攝相機圖像,可以通過過濾存儲桶名稱來獲取相機圖像列表。在這種情況下,您可以閱讀縮略圖並將其顯示在自己的活動中,並要求用戶選擇。

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     String[] projection = { 
       MediaStore.Images.Media._ID, MediaStore.Images.Media.BUCKET_DISPLAY_NAME, 
       MediaStore.Images.Media.DISPLAY_NAME 
     }; 
     String selection = MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " = ?"; 
     String[] selectionArgs = new String[] { 
      "Camera" 
     }; 
     Cursor mImageCursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
       projection, selection, selectionArgs, null); 

     while (mImageCursor.moveToNext()) { 
      Log.d("TestActivity", mImageCursor.getString(1) + " " + mImageCursor.getString(2)); 

     } 
    } 
+0

正確answer.Thanks您的幫助。 – void

+0

很高興幫助.... – jlopez

+0

它不適用於所有設備例如。索尼 – Chaitu