我的相机无法在我的新设备上工作(nullpointerexcepetion)

时间:2017-02-27 13:54:11

标签: android parameters nullpointerexception android-camera

在我更换设备后,我的相机突然停止工作并抛出一个

  

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'android.hardware.Camera $ Parameters android.hardware.Camera.getParameters()'

我曾尝试将catch (RuntimeException ex)更改为finaly 但那反而给了我一个

  

无法连接到相机服务“例外

public void surfaceCreated(SurfaceHolder surfaceHolder) {
    String PreviewFPS;
    String Previewsize;
    String Displayor;
    PreviewFPS = setingPreferences.getString("previewfps", "");
    Previewsize = setingPreferences.getString("screensize", "");
    Displayor = setingPreferences.getString("orientation", "");
    String[] size = Previewsize.split(",");
    try {
        camera = Camera.open();
    } catch (RuntimeException ex) {
    }
    Camera.Parameters parameters;
  parameters = camera.getParameters();

    //modificer parameterene
          parameters.setPreviewFrameRate(Integer.parseInt(PreviewFPS));
        parameters.setPreviewSize(Integer.parseInt(size[0]),Integer.parseInt(size[1]));
     camera.setParameters(parameters);
    parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
   camera.setDisplayOrientation(Integer.parseInt(Displayor));
    try {
        camera.setPreviewDisplay(surfaceHolder);
        camera.startPreview();
    } catch (Exception ex) {
    }

}

清单

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

该设备的制造商调查了代码并告诉我原因是由于它无法立即运行扫描仪和相机

  

嗨Kewin      您能否分享一下源代码给我?因为我们没有测试它是否可以同时运行相机和扫描仪   

     

我们检查过,扫描仪和相机无法同时打开。      最诚挚的问候,

所以我对此的解决方法是让我的相机和扫描仪活动在2个独立的活动和布局中运行,希望这可以帮助其他人

1 个答案:

答案 0 :(得分:0)

您需要尝试所有相机代码,如果实际打印它们,您应该阅读堆栈跟踪

try {
    camera = Camera.open();
    Camera.Parameters parameters = camera.getParameters();

   ... 
} catch (RuntimeException ex) {
    ex.printStackTrace();
}

// camera remains null if an exception is caught...