如何在Android模拟器中禁用指纹传感器?我在设置窗口或config.ini文件中找不到任何选项。
默认情况下,所有SDK 23以上的模拟器都支持指纹功能。我想在不支持指纹的SDK 23以上版本中测试我的流程。
如何在Android模拟器中禁用指纹传感器?我在设置窗口或config.ini文件中找不到任何选项。
默认情况下,所有SDK 23以上的模拟器都支持指纹功能。我想在不支持指纹的SDK 23以上版本中测试我的流程。
使用传统方法无法实现。但有非常规方法可用。
您不能禁用指纹识别的原因是,它的存在不是由Android框架管理的,而是由底层Linux操作系统管理,就像所有其他传感器一样。因此,如果系统有这个传感器的驱动程序 - Android将认为该传感器存在。
因此,指纹识别传感器的存在取决于驱动程序。现在解决方案很简单。如果没有驱动程序 - 就没有传感器存在。你所要做的就是禁用(从操作系统中断开)驱动程序。为此,您需要:
我不完全确定指纹驱动程序在系统中的表示方式(我使用其他传感器进行操作),但经过不太长的搜索和推断后,我认为它可能被称为 fpc 之类的东西。
因此,您可能希望在系统驱动程序文件夹中搜索此内容 - 类似于
/sys/bus/(platform/spi/blablabla/something)/drivers/fpc.../
文件夹中应该有四个文件 - uevent
,bind
和我们需要的unbind
和deviceName
。
现在取消绑定传感器 - echo deviceName > /sys/bus/(platform/spi/blablabla/something)/drivers/fpc.../unbind
现在,系统将认为系统中没有指纹传感器......直到下一次重新启动。
我是在真实设备上并使用其他传感器进行操作的,但我认为该方法应该基本相同。
灵感来自这里
希望这有所帮助。
override fun isHardwareDetected() {
if (System.getProperty("os.arch") == "mips64") {
return false;
}
return super.isHardwareDetected()
}