Я занимаюсь разработкой приложения, в котором изображение взято из собственного приложения камеры.должен быть показан пользователю.Код, который я сделал:
/* Intent */
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent, TAKE_PICTURE);
/* Result */
onActivityResult(int requestCode, int resultCode,
Intent returnIntent) {
if(requestCode == TAKE_PICTURE) {
//picture from Camera
if (resultCode == Activity.RESULT_OK) {
if(returnIntent != null) {
try {
// Get the file path where the image is stored.
// This runs fine on all devices, except Samsung ones.
Uri selectedImage = returnIntent.getData();
if(selectedImage == null) {
if(returnIntent.getExtras() != null &&
returnIntent.getExtras().get(AppConstants.DATA) != null) {
// But, I get the image Bitmap here. Means the image is stored in disk.
Bitmap bmp = (Bitmap) returnIntent.getExtras().get(AppConstants.DATA);
}
}
} catch (Exception e) {
//
}
}
}
}
}
Проблема здесь в том, что приведенный выше код прекрасно работает на всех устройствах, которые я пробовал (HTC, SE), но почему-то не работает на устройствах Samsung."Uri selectedImage = returnIntent.getData ();"никогда ничего не возвращает.Поскольку все мое приложение построено на этой логике сохранения пути к файлу, я не могу продолжить.Есть ли решение людей.