美文网首页
Android获取最近拍摄的图片

Android获取最近拍摄的图片

作者: zizi192 | 来源:发表于2017-08-07 16:56 被阅读0次

    前提条件:app需要申请READ_EXTERNAL_STORAGE权限

    原理:root手机查看/data/data/com.android.providers.media下的database,根据表结构,可获取date_added属性来查询图片生成时间。

    /**
    * 获取最新图片,1分钟以内最新图片
    * @return String
    */
    public static String getNewestPhoto() {
        ArrayList<String> list = new ArrayList<String>();
        Cursor cursor = null;
        try{
            long currentTime = System.currentTimeMillis()/ 1000 - 60;
            cursor = MyApplication.getContext().getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA},
                        MediaStore.Images.Media.DATE_ADDED + " >= ?", new String[]{currentTime + ""}, MediaStore.Images.Media.DATE_ADDED + " DESC");
            if (cursor != null) {
                if (cursor.moveToFirst()) {
                    return cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA));
                }
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            if (cursor != null){
                cursor.close();
            }
        }
        return null;
    }
    

    建议异步调用该方法,不要放在ui线程

    相关文章

      网友评论

          本文标题:Android获取最近拍摄的图片

          本文链接:https://www.haomeiwen.com/subject/ulealxtx.html