Intereting Posts
Статический класс Utility с контекстом / Activity – Android Как работать с большим объектом JSON на Android Возможно ли запустить Chromium Browser на Android? Получить текущее местоположение 0 в marshmallow, где ниже 23 API его дать точное текущее местоположение с использованием плавленого местоположения Удалите «start» -активность из истории Google maps v2 не отображается Замена стандартного программного кодека Android H264 на основе ffmpeg Android Studio показывает диалог «не удалось создать мост отладки: не удалось запустить сервер adb: невозможно получить результат« adb version »» Пример входа в Android с использованием метода POST с использованием REST API Где вы загружаете ошибки для продуктов и сервисов Google Android / iOS (AppInvites, Maps и т. Д.)? Отключить масштабирование фокуса ввода в веб-странице Android Ошибка утечки памяти Как сделать edittext в Android прокручиваемым? Наложение представления не отключает действия в базовом представлении Использование курсора, возвращаемого из LoaderManager в AsyncTask

Получить последнее изображение, сделанное пользователем

Эй, я хочу, чтобы последняя фотография была захвачена пользователем через любое приложение камеры. Я не знаю, как это сделать

Может кто-нибудь мне помочь?

Далее я хочу отправить это изображение в виде вложения в электронную почту или MMS.

благодаря

Solutions Collecting From Web of "Получить последнее изображение, сделанное пользователем"

// Find the last picture String[] projection = new String[]{ MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.DATA, MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME, MediaStore.Images.ImageColumns.DATE_TAKEN, MediaStore.Images.ImageColumns.MIME_TYPE }; final Cursor cursor = getContext().getContentResolver() .query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC"); // Put it in the image view if (cursor.moveToFirst()) { final ImageView imageView = (ImageView) findViewById(R.id.pictureView); String imageLocation = cursor.getString(1); File imageFile = new File(imageLocation); if (imageFile.exists()) { // TODO: is there a better way to do this? Bitmap bm = BitmapFactory.decodeFile(imageLocation); imageView.setImageBitmap(bm); } } 

Я все еще работаю над отправкой части MMS.

Вдохновленный https://stackoverflow.com/a/20065920/763459

Поэтому основной проблемой в этом ответе было не все устройства, использующие «DCIM» в качестве папки камеры. Затем я узнал, что если файл находится внутри указанной в приложении папки, он будет проиндексирован ContentResolver но другое приложение не имеет к нему доступа, что означает canRead=false . Итак, здесь я придумал другое решение:

  while (cursor.moveToNext()) { String imagePath = cursor.getString(cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA)); File imageFile = new File(imagePath); if (imageFile.canRead() && imageFile.exists()) { // we have found the latest picture in the public folder, do whatever you want break; } }