相机打开时 NFC 不可用
Posted
技术标签:
【中文标题】相机打开时 NFC 不可用【英文标题】:NFC unavailable when camera is open 【发布时间】:2016-04-09 00:16:05 【问题描述】:这是我的 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。
这个问题可以通过编程解决吗?
【问题讨论】:
我在三星 S3 上没有看到这个。您可以尝试应用程序“NFC Developer”。这个应用结合了相机和NFC 【参考方案1】:很遗憾,没有,但我真诚地希望 Nexus 5X 是您遇到这种情况的唯一设备。
原因是在 5X 的开发周期很晚的时候,发现 NFC 控制器轮询在相机传感器中引入了噪声。当时唯一可行的解决方法是在打开相机时关闭 NFC :(
【讨论】:
Nexus 5X 不是唯一的设备,因为它是我遇到的第二个设备。但我忘记了第一个设备是哪个。 我在 LG G5 上也遇到过这种情况。相机预览打开时无法扫描任何 NFC 标签。 同样的问题出现在搭载 android 8.1 的三星 XCover 4 上。使用相机后,我什至无法扫描 20-30 秒。 在我的 Pixel 1 XL 上也会发生 任何搭载 Android 11 的三星都有这个问题【参考方案2】:要解决这个问题,您可以将这个小代码添加到您的 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;
【讨论】:
此解决方案有效,因为 somo 设备的摄像头中有 NFC 读取器芯片。如果您松开相机,则 NFC 在下一个屏幕中正常。 除了它没有解决能够同时使用NFC /和/相机的问题。它正在关闭相机,以便您可以使用 NFC。这是一种解决方法,而不是解决方案,对于在扫描 NFC 标签的同时需要视频的应用程序来说并不理想。 好的,没错。对我来说,这解决了我的应用程序中的问题。以上是关于相机打开时 NFC 不可用的主要内容,如果未能解决你的问题,请参考以下文章