带有 ML Kit 的华为人脸检测在某些设备上不起作用

Huawei Face detection with ML Kit won't work on some devices

我正在尝试创建一个可以从位图中识别人脸的简单 Android 应用程序。首先,我尝试使用以下代码行初始化 VisionBase

VisionBase.init(c, object : ConnectionCallback {
override fun onServiceConnect() {
    l.engineReady()
    Log.i("LOG_TAG", "onServiceConnect")
}

override fun onServiceDisconnect() {
    l.engineDisconnected()
    Log.i("LOG_TAG", "onServiceDisconnect")
}
})

不幸的是,onServiceConnectonServiceDisconect 从未被调用过。在我的 LogCat 中,我可以使用相同的错误消息出现多个错误:

Access denied finding property "hwservicemanager.ready"

不得不提的是,我拥有三台设备。在我的华为 p40 Lite 上一切正常,但在我的华为 Y6 2018(型号 ATU-L21,EMUI 版本 8.0.0)和华为 Y5p(EMUI 版本 10.1.0.151)上,我每次都能重现此行为。

人脸检测使用机器学习来实现此功能,并且在一定程度上依赖于移动设备的芯片组。 Y6和Y5P搭载联发科MT6761和MT6762R芯片,P40 Lite搭载麒麟810。 Here是支持的设备列表,请参考。

建议您使用ML KitHMS Core替代,支持EMUI 5.0以上Android设备

详情请参考Docs.