这是我的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。
可以通过编程方式解决这个问题吗?
答案 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;
}
}