Android 從相簿擷取最近拍攝的多張照片(擷取相機拍照所儲存的照片)

來源:互聯網
上載者:User

標籤:android   從相簿擷取最近拍攝的多張照片   

       轉載請標明出處:http://blog.csdn.net/android_ls/article/details/39928519

       在做公司項目時,遇到的需求:自訂顯示照片的網格視圖,顯示使用者最近採用相機拍攝的前20張照片。

       我查看了系統提供的API,沒找到直接指向採用照相機拍照後儲存照片的路徑常量,若有網友知道,請告之,謝謝!

       下面是我採用的笨辦法,主要程式碼片段如下:

        // 擷取SDcard卡的路徑        String sdcardPath = Environment.getExternalStorageDirectory().toString();        ContentResolver mContentResolver = MainActivity.this.getContentResolver();        Cursor mCursor = mContentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,                 new String[]{MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA},                 MediaStore.Images.Media.MIME_TYPE + "=? OR " + MediaStore.Images.Media.MIME_TYPE + "=?",                 new String[] { "image/jpeg", "image/png" }, MediaStore.Images.Media._ID + " DESC"); // 按圖片ID降序排列        while (mCursor.moveToNext()) {            // 列印LOG查看照片ID的值            long id = mCursor.getLong(mCursor.getColumnIndex(MediaStore.Images.Media._ID));            Log.i("MediaStore.Images.Media_ID=", id + "");                        // 過濾掉不需要的圖片,只擷取拍照後儲存照片的相簿裡的圖片            String path = mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DATA));            if (path.startsWith(sdcardPath + "/DCIM/100MEDIA") || path.startsWith(sdcardPath + "/DCIM/Camera/")                    || path.startsWith(sdcardPath + "DCIM/100Andro")) {                Log.i("image path=", path);                img_path.add("file://" + path);            }        }        mCursor.close();


Android 從相簿擷取最近拍攝的多張照片(擷取相機拍照所儲存的照片)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.