Intereting Posts
MAILTO Ссылка по электронной почте, чтобы начать новое письмо Компиляция приложений для Android не создает ресурсы пакета Можно ли отправить синхронный запрос в Firebase? Файл расширения apk, не загружаемый с playstore Рассчитайте угол касания и поверните его в Android Android Studio и Kotlin: нерешенные ссылки: также Как измерить скорость автомобиля по телефону с акселерометром и гироскопом? Приложение Google SignIn без добавления его в учетные записи устройства Никакой активности не найдено для обработки Intent action.VIEW при нажатии на ссылку электронной почты Телефонный звонок для Android Handle MyGestureDetector расширяет SimpleOnGestureListener Наложение панели инструментов поверх содержимого активности Увеличьте масштаб до маркеров google map V2 Класс должен быть либо объявлен абстрактным, либо реализовать абстрактный метод Gradle и несколько проектов с зависимостью Roboguice

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

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

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

Далее я хочу отправить это изображение в виде вложения в электронную почту или 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; } }