2016-12-20 18 views
2

を返します。テストやアプリの使用中に私に起こることはありません。Camera.openは、私はCameraオブジェクトがnullであるcrashlyticsのクラッシュレポートの多くを取得しています時々ヌル

Fatal Exception: java.lang.RuntimeException: Unable to resume activity {packageName/activityName}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.Camera$Parameters android.hardware.Camera.getParameters()' on a null object reference 
    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3026) 
    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3057) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396) 
    at android.app.ActivityThread.access$800(ActivityThread.java:151) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5349) 
    at java.lang.reflect.Method.invoke(Method.java) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703) 

Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.Camera$Parameters android.hardware.Camera.getParameters()' on a null object reference 
    at activityName.o(SourceFile:612) 
    at activityName.u(SourceFile:772) 
    at activityName.onResume(SourceFile:539) 
    at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1241) 
    at android.app.Activity.performResume(Activity.java:6106) 
    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3015) 
    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3057) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396) 
    at android.app.ActivityThread.access$800(ActivityThread.java:151) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5349) 
    at java.lang.reflect.Method.invoke(Method.java) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703) 

クラッシュはcamera.getParameters()で発生します。

カメラが何らかの理由で、現時点では接続できないので、だから、基本的にはありますか?

は、それはあなたが携帯電話のカメラアプリに乗る"Can't connect to camera."エラーに似てますか?

ホープ誰かがこの上でいくつかの光を当てると、これを処理するいくつかの方法を共有することができます。

+0

あなたのログから(Cameraオブジェクトがフィールドだったの)活性が破壊され、再作成されたので、Cameraオブジェクトがnullであるように見えます。これは、アクティビティの設定が変更された場合(通常はポートレートからランドスケープ)に発生する可能性があります。 –

+0

@AlexCohn私がマニフェストにconfigChange属性を追加したので、オリエンテーションが変更されたときに問題のアクティビティが破壊されることはありません。 –

+0

行539のonResume()でアクティビティがクラッシュします。これは、この時点でカメラオブジェクトがnullであるために発生します。可能性のあるすべての不具合を処理したと信じていますが、Android OSの味の中には不可能なものがいくつか見つかりました。ソースコードなしで修正プログラムを提案することは不可能です。 –

答えて

1

1)あなたは、カメラを初期化していますか?

camera = camera.open(); 

2)カメラ権限を使用しましたか?

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

3)あなたはすぐにカメラを開いた後にこれをやっていないことを確認してください:

camera = null; 

4)のmanifest.xml

5で明示的にポートレートモードでカメラの向きを設定してみてください)あなたの場合Marshmellowを使用している場合は、カメラにアクセスするための実行時権限が必要です。

+0

上記をすべて行ってください。 –

+0

Camera.open(0)を使用してみてください.... – MezzyDroid

+0

クラッシュは常に発生しません。このソリューションは、特定のデバイスで常に発生することを意味しますが、そうではありません。多くのユーザーにはnexus 5があり、アプリは正常に動作していますが、この問題に直面したnexus 5ユーザーは1人です。 –

関連する問題