相机打开时NFC不可用

时间:2016-01-05 08:28:16

标签: android android-camera nfc

这是我的Torch应用程序:

final Camera.Parameters p;
Camera camera=Camera.open();

camera.setPreviewTexture(new SurfaceTexture(0));
p = camera.getParameters();

p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(p);
camera.startPreview();

当我的应用运行时,某些设备无法检测到NFC标签。我注意到这种情况发生在Nexus 5X上,特别是。

相机正在运行时,某些设备似乎无法检测到NFC。

可以通过编程方式解决这个问题吗?

2 个答案:

答案 0 :(得分:9)

不幸的是,不,但我真诚地希望Nexus 5X是唯一能够遇到此问题的设备。

原因是在5X的开发周期中相当晚,发现NFC控制器轮询引入了相机传感器中的噪声。当时唯一可行的解​​决方法是在相机打开时关闭NFC :(

答案 1 :(得分:0)

要解决此问题,您可以在使用相机的活动中将此小代码添加到onStop中。如果需要NFC,则在某些设备中需要释放相机。

@Override
protected void onStop() {
    super.onStop();
    try
    {
        android.hardware.Camera mCamera = android.hardware.Camera.open();
        mCamera.release();
        mCamera = null;
    }
    catch(RuntimeException e)
    {
        Log.e(TAG, "init_camera: " + e);
        return;
    }
}