如何在Android仿真器中禁用指纹传感器?我在设置窗口或config.ini文件中找不到任何选项。
默认情况下,SDK 23之上的所有仿真器均具有指纹支持。我想在不支持指纹的情况下在上述SDK 23中测试我的流程。
不可能用常规方法来实现。但是有非常规的。
您无法禁用的原因是,它的存在不是通过Android Framework而是通过作为所有其他传感器的底层Linux OS进行管理的。因此,如果您的系统具有该传感器的驱动程序-Android将认为该传感器存在。
因此指纹传感器的存在取决于驾驶员。解决方案现在很容易。如果没有驱动程序-将没有传感器。您要做的就是禁用(与OS断开连接)驱动程序。为此,您需要
我不确定是否在系统中描绘了指纹驱动程序(我正在使用其他传感器进行描绘),但是经过很长时间的谷歌搜索和使用外推后,我认为它可能被称为类似[[fpc。
所以您可能要在系统驱动器文件夹中搜索-类似于/sys/bus/(platform/spi/blablabla/something)/drivers/fpc.../
在文件夹中应该有四个文件-uevent
,bind
,而我们将需要unbind
和deviceName
。
现在解除绑定传感器-echo deviceName > /sys/bus/(platform/spi/blablabla/something)/drivers/fpc.../unbind
现在系统将认为系统中没有指纹传感器,直到下一次重新引导。
我当时在真实设备上以及其他传感器上执行此操作,但我认为方法应该几乎相同。
灵感来自here
希望有帮助。
override fun isHardwareDetected() {
if (System.getProperty("os.arch") == "mips64") {
return false;
}
return super.isHardwareDetected()
}
对于BiometricPrompt,您将以类似的方式重写BiometricPrompt.authenticate()以返回常数BIOMETRIC_ERROR_HW_UNAVAILABLE
。