1
가장 업데이트 된 이미지가 필요하므로 두 곳에서 선택해야합니다. 어떻게해야합니까?두 개의 다른 데이터 소스에서 정렬 된 데이터 선택
아래 코드는 /dcim/camera
에서 반환되며, 양쪽에서 돌아올 수 있어야하는 경우 eye-fi에서 반환되지 않습니다.
private void PopulateDataSource() {
if (_context == null) return;
if(_context.getContentResolver() != null) {
final ContentResolver cr = _context.getContentResolver();
String[] projections = new String[] {
MediaStore.Images.ImageColumns._ID,
MediaStore.Images.ImageColumns.DATE_TAKEN,
MediaStore.Images.ImageColumns.DATA };
String sortOrder = String.format(
"%s limit 10", Images.ImageColumns.DATE_TAKEN + " DESC");
final String[] selectionArgs = {
getBucketId(Environment.getExternalStorageDirectory().toString() +
"/Eye-Fi"),
getBucketId(Environment.getExternalStorageDirectory().toString() +
"/DCIM/Camera") };
final String selection = MediaStore.Images.Media.BUCKET_ID + " = ?";
try {
// select all images from DataBase and set it in Cursor
SearchCursor = cr.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projections, selection, selectionArgs, sortOrder);
}
catch (Exception ex) {
Log.e("Cursor failed", ex.getMessage());
}
}
}
감사의 그것이 맞습니다! 답변에 한 번 더 추가하면 _ID별로 정렬해야하며 완벽하게 작동합니다! – IamStalker