Активность камеры Android не возвращается в мое приложение при нажатии кнопки ОК

У меня есть приложение, которое полностью работает. У него только 1 проблема с моим намерением камеры или разрешениями.

Предполагается, что приложение запускает Camera Activity, когда пользователь нажимает кнопку. Это работает нормально, но когда пользователь принимает изображение, нажимая кнопку OK на камере, оно не возвращается в мое приложение. Если они нажимают кнопку отмены на камере, она возвращается к моему приложению, как и ожидалось.

Я прочитал все похожие вопросы, которые могу найти здесь, но ни один из них не решил мою проблему. Мне нужно точно указать камере, где сохранить изображение, потому что я хочу чередовать 2 в моем приложении. Вот код, который создает намерение камеры и запускает его:

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.parse(imagePath));
startActivityForResult(intent, 11);

Я пробовал несколько значений дляimagePath (который является строкой), но кнопка OK камеры не работала ни с одним из них. Вот пути, которые я пробовал:

/mnt/sdcard/<appName>/cameraImages/image1.jpg
from Environment.getExternalStorageDirectory()

/mnt/sdcard/Android/data/<appPkg>/cache/<appName>/cameraImages/image1.jpg
from context.getExternalCacheDir()

/mnt/sdcard/Android/data/<appPkg>/cache/<appName>/cameraImages/image1.jpg
from context.getCacheDir()

У меня есть следующие разрешения в моем файле манифеста:

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

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

Я делаю все тесты на эмуляторе 4.1, компилирую с SDK 4.1, и моя минимальная версия - API 8 (2.2).

Я поставил вопрос о намерении вonActivityResult(), но я не думаю, что вы, ребята, должны видеть этот код, потому что он не должен влиять на проблему.

Ответы на вопрос(2)

Ваш ответ на вопрос