2017-01-17 3 views
0

Итак, у меня есть этот код для запроса изображений из приложения для камеры.Невозможно запросить снимки устройства 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) 

Любая помощь приветствуется!

+0

Можете ли вы опубликовать любой стек? – FrankR

+0

У меня нет доступа к stacktrace, потому что в основном мое приложение никогда не вылетает, но приложение камеры с устройств Samsung - это тот, который сбой. Поэтому я не вижу точно, что пошло не так. –

+0

Обычно в logcat вы должны иметь возможность изменять фильтр, чтобы показывать все приложения, это может помочь в получении stacktrace, без этого очень сложно понять, в чем проблема. – FrankR

ответ

0

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

+0

Можно сохранить во внутреннем хранилище ... У меня просто не было разрешения. Я использовал ответ в этом вопросе: http://stackoverflow.com/questions/33650632/fileprovider-not-working-with-camera, и он работает сейчас. –

+0

Рад, что это сработало для вас. – FrankR

Смежные вопросы