相机打开时 NFC 不可用
NFC unavailable when camera is open
这是我的 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。
这个问题可以通过编程方式解决吗?
很遗憾,没有,但我真诚地希望 Nexus 5X 是您唯一会遇到这种情况的设备。
原因是在 5X 开发周期的后期,人们发现 NFC 控制器轮询在相机传感器中引入了噪声。当时唯一可行的解决方法是在打开相机时关闭 NFC :(
要解决此问题,您可以将这段小代码添加到您的 onStop,在使用相机的 activity 中。如果需要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;
}
}
这是我的 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。
这个问题可以通过编程方式解决吗?
很遗憾,没有,但我真诚地希望 Nexus 5X 是您唯一会遇到这种情况的设备。
原因是在 5X 开发周期的后期,人们发现 NFC 控制器轮询在相机传感器中引入了噪声。当时唯一可行的解决方法是在打开相机时关闭 NFC :(
要解决此问题,您可以将这段小代码添加到您的 onStop,在使用相机的 activity 中。如果需要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;
}
}