安卓相机:获取最近拍摄的照片缩略图做相册按钮图标

java 复制代码
String[] projection = { MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, MediaStore.Images.Media.DATE_TAKEN + " DESC");
if (cursor != null && cursor.moveToFirst()) {
    String path_camera = Environment.getExternalStorageDirectory().toString() + "/DCIM/Camera/";
    while (true) {
        int index_id = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID);
        int index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        long id = cursor.getLong(index_id);
        String path = cursor.getString(index_data);
        if (path.startsWith(path_camera)) {
            Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(getContentResolver(), id, MediaStore.Images.Thumbnails.MINI_KIND, null);
            imageButton_album.setImageBitmap(bitmap);
            break;
        } else
            cursor.moveToNext();
    }
    cursor.close();
}

拍完照要写入媒体数据库

复制代码
https://blog.51cto.com/vaero/779942
java 复制代码
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, filename);
values.put(MediaStore.Images.Media.DISPLAY_NAME, filename);
values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis());
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
values.put(MediaStore.Images.Media.DATA, filepath);
getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
MediaScannerConnection.scanFile(MainActivity.this, new String[] { filepath }, null, null);

但是,只能获取系统相机拍摄的照片,自己拍的照片取不到,数据库插入失败?

相关推荐
橙光成长13 分钟前
android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送
android·1024程序员节
深圳雨林凯AI14 分钟前
图案裂变的底色衰减:alpha通道、亮度对比与白墨分色的量化拆解
android
mmsx25 分钟前
Android 模块化收口:能力组合框架、手写 LifecycleOwner 与热修复共存
android
恋猫de小郭3 小时前
Flutter 可以更直接地调用原生 API 了,Dart Direct Native Interop
android·前端·flutter
2501_916008893 小时前
iPhone 设备信息查看,用 KeyMob 看型号、序列号、电池健康和 UDID
android·ios·小程序·https·uni-app·iphone·webview
好的佩奇13 小时前
蓝牙之通信架构
android·flutter·蓝牙
FlightYe14 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
诸神黄昏EX15 小时前
Android fw BatteryService
android
alexhilton15 小时前
提升 Android Compose 页面的流畅度
android·kotlin·android jetpack
撩得Android一次心动16 小时前
Android中Gradle网络下载超时、更改存放位置(解决方案)
android·gradle