2017-01-17 5 views
0

anzufragen Also habe ich diesen Code anfordern Bilder von der Kamera App.Unfähig, Bilder an Samsung-Gerät

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 
     ); 
    } 

Es funktioniert gut in einem Motorola-Gerät. Aber wenn ich versuche, die gleiche App in einem Samsung-Gerät zu verwenden, bricht die Kamera-App immer ... Ich habe versucht, einige Lösungen in stackoverflow, aber immer noch nicht zu sehen.

Edit:

Hier ist meine 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) 

Jede Hilfe ist willkommen!

+0

Können Sie einen Stacktrace posten? – FrankR

+0

Ich habe keinen Zugriff auf den StackTrace, weil meine App im Grunde nie abstürzt, aber die Kamera-App von Samsung Geräten stürzt ab. Also kann ich nicht genau sehen, dass das schief gelaufen ist. –

+0

Normalerweise sollten Sie in der Lage sein, den Filter so zu ändern, dass alle Apps angezeigt werden. Dies könnte helfen, einen StackTrace zu bekommen. Ohne einen ist es wirklich schwer zu erkennen, was das Problem ist. – FrankR

Antwort

0

Ich denke, Ihr Problem ist, dass Sie versuchen, das Bild der Kamera im internen Speicher zu speichern, ich glaube nicht, dass dies möglich ist.Können Sie stattdessen versuchen, an einem Speicherort auf der SD-Karte zu speichern?

+0

Es ist möglich, im internen Speicher zu speichern ... Ich hatte nur keine Erlaubnis. Ich habe die Antwort in dieser Frage verwendet: http://stackoverflow.com/questions/33650632/fileprovider-not-working-with-camera und es funktioniert jetzt. –

+0

Froh, dass es für Sie funktioniert hat. – FrankR