Итак, у меня есть этот код для запроса изображений из приложения для камеры.Невозможно запросить снимки устройства samsung
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
try {
mUltimaFotoFile = createImageFile();
Uri photoURI = FileProvider.getUriForFile(this,
"br.com.nortemobile.sgaconsultor",
mUltimaFotoFile);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
startActivityForResult(takePictureIntent, SHOOT_PIC);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
private File createImageFile() throws IOException {
// Create an image file name
String imageFileName = "registroFoto";
File directory = new File(getFilesDir(), "app_imageDir");
directory.mkdir();
return File.createTempFile(
imageFileName, /* prefix */
".jpg", /* suffix */
directory
);
}
Он отлично работает в устройстве Motorola. Но когда я пытаюсь использовать одно и то же приложение на устройстве Samsung, приложение камеры всегда ломается ... Я пробовал некоторые решения в stackoverflow, но все равно не смотрю.
Edit:
Вот мой StackTrace:
java.lang.SecurityException: Permission Denial: opening provider android.support.v4.content.FileProvider from ProcessRecord{43965918 20244:com.sec.android.app.camera/u0a10082} (pid=20244, uid=10082) that is not exported from uid 10149
at android.os.Parcel.readException(Parcel.java:1431)
at android.os.Parcel.readException(Parcel.java:1385)
at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:2906)
at android.app.ActivityThread.acquireProvider(ActivityThread.java:4829)
at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2560)
at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1152)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:667)
at android.content.ContentResolver.openOutputStream(ContentResolver.java:540)
at android.content.ContentResolver.openOutputStream(ContentResolver.java:516)
at com.sec.android.app.camera.Camera$LastContentUriCallback.onCompleted(Camera.java:5991)
at com.sec.android.app.camera.Camera.onLaunchGallery(Camera.java:5873)
at com.sec.android.app.camera.Camera.onImageStoringCompleted(Camera.java:5217)
at com.sec.android.app.camera.CameraEngine.imageStoringCompleted(CameraEngine.java:2331)
at com.sec.android.app.camera.CeStateInitialized.handleMessage(CeStateInitialized.java:47)
at com.sec.android.app.camera.CameraEngine$StateMessageHandler.handleMessage(CameraEngine.java:256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5493)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1225)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1041)
at dalvik.system.NativeStart.main(Native Method)
Любая помощь приветствуется!
Можете ли вы опубликовать любой стек? – FrankR
У меня нет доступа к stacktrace, потому что в основном мое приложение никогда не вылетает, но приложение камеры с устройств Samsung - это тот, который сбой. Поэтому я не вижу точно, что пошло не так. –
Обычно в logcat вы должны иметь возможность изменять фильтр, чтобы показывать все приложения, это может помочь в получении stacktrace, без этого очень сложно понять, в чем проблема. – FrankR