2017-02-23 4 views
0

Ich versuche eine einfache Taschenlampe App zu machen und wenn ich teste, stürzt die App ab. Ich glaube, beim Versuch, auf die Kamera zuzugreifen, stimmt etwas nicht. Irgendwelche Vorschläge?Absturz beim Zugriff auf die Kamera?

W/CameraBase: An error occurred while connecting to camera: 0 
W/CameraBase: An error occurred while connecting to camera: 0 
W/CameraBase: An error occurred while connecting to camera: 0 
W/CameraBase: An error occurred while connecting to camera: 0 
W/CameraBase: An error occurred while connecting to camera: 0 
I/Camera2Mode: fail 
E/AndroidRuntime: FATAL EXCEPTION: main 

java.lang.RuntimeException: Fail to connect to camera service 
at android.hardware.Camera.open(Camera.java:479) 
at android.hardware.Camera.open(Camera.java:547) 
at android.view.View.performClick(View.java:5226) 
at android.widget.CompoundButton.performClick(CompoundButton.java:122) 
at android.view.View$PerformClick.run(View.java:21266) 
at android.os.Handler.handleCallback(Handler.java:739) 
at android.os.Handler.dispatchMessage(Handler.java:95  
at android.os.Looper.loop(Looper.java:168) 
at android.app.ActivityThread.main(ActivityThread.java:5845) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797) 


at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687) 

D/Process: killProcess, pid=23317 
D/Process: com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException:113 java.lang.ThreadGroup.uncaughtException:693 java.lang.ThreadGroup.uncaughtException:690 
Disconnected from the target VM, address: 'localhost:8603', transport: 'socket' 
+1

reduzieren bitte Ihren Manifest-Code bitte. Welche Berechtigungen gibst du dort? –

+0

stackoverflow.com/questions/23904459/android-java-lang-runtimeexception-fail-to-connect-to-camera-service –

+1

versuche diese zwei Zeilen im Manifest zu verwenden –

Antwort

1

Ich glaube, Sie brauchen Kamera Erlaubnis in Manifest-Datei setzen wie diese

<uses-permission android:name="android.permission.CAMERA"/> 

andere Sache, die auf dieses Problem beziehen verknüpfen können this Link

1

Es können zwei Fragen. Eine davon ist die Erlaubnis, die handle.Also einfach vorsichtig sein, während die Erlaubnis bei der Handhabung Sie Apps für Android 6.0 Fügen Sie einfach diese in manifest entwickeln:

<uses-permission android:name="android.permission.CAMERA" /> 
<uses-feature android:name="android.hardware.camera" /> 
<uses-feature android:name="android.hardware.camera.autofocus"/> 

Ein weiterer Grund ist, während Sie versuchen, Ihre Kamera öffnen kann es sein, ist eine andere Anwendung, die Kamera diese Zeit verwendet. Um Ausnahmen zu vermeiden, müssen Sie die öffnende Kamera in einen try-catch-Block einpacken. wie folgt aus:

static Camera camera = null; 
    try{ 
     camera = Camera.open(); 
     } catch(Exception e) { 
     Log.e("Error", ""+e); 
    } 
1

fügen Sie diese zu Ihrem Manifest

<uses-permission android:name="android.permission.CAMERA"/> 

und für SDK 23 und über

<uses-permission-sdk-23 android:name="android.permission.CAMERA"/> 
0

, wenn Ihr Test-Mobil 6.0 + ist, sollten Sie Ihre Code-Abfrage verwenden Erlaubnis, oder Sie können die Version des Builds

Verwandte Themen