virtualization - 为什么与HMS DeviceVirtualization引擎集成后,设备列表不会显示在App GUI中?
问题描述
我在这里按照 HMS 开发者指南进行设备虚拟化(DV)引擎开发 - https://developer.huawei.com/consumer/en/doc/development/connectivity-Guides/devicevirtualization-preparation,我将 DV SDK 集成到我的应用程序中,编译并建立一切正常。但是在将我的 DV 应用程序部署到我的手机后,硬件设备列表不会显示在应用程序 GUI 中。这可能是什么原因?
解决方案
1.请检查设备兼容性:
目前DeviceVirtualization Engine只支持华为手机。当应用程序在不支持的运行环境中调用DV Engine中的API时,或者在运行不支持EMUI版本的华为手机上,系统会抛出NoClassDefFoundError。因此,应用程序应检查运行环境和 DV 引擎版本之间的兼容性。有关详细信息,请参阅文档。
2、检查回调方法connect是否调用成功:
如果是这样,那么您的配置是正确的;
如果没有,请检查您是否有访问相关API的权限。出于安全考虑,您需要向华为申请许可才能使用DeviceVirtualization Engine的开放API。正如@Zinna所说,申请API 权限需要您在AppGallery Connect 上创建应用后生成的应用ID,并且已配置指纹。权限申请请发邮件至devConnect@huawei.com,主题为“DeviceVirtualization Engine权限申请”。有关详细信息,请参阅文档。
3. 首次启动应用需要网络连接。
检查回调方法startDiscovery是否调用成功。如果是这样,并且设备参数不为空,则可以通过线程向UI线程发送数据。详情请参考官网提供的demo。
推荐阅读
- python - 断言错误:
- sql-server - BCP 命令执行表中的每一行 SQL 命令
- java - 如何使用百里香将视图中的列表传递给 Spring MVC 中的控制器?
- javascript - 在猫鼬中填充许多子文档级别
- macos - 无法使用 smartbear 代码协作者的 P4 插件添加文件以供审阅
- python - 熊猫数据框中的正则表达式
- php - Cookie 和字符串比较不匹配
- python-3.x - AWS Lambda Python - 将密钥复制到“文件夹”会创建嵌套的“文件夹”。如何从监视中排除“文件夹”
- f# - 无法为 Orleans 3.0 生成 F# 接口库
- java - 在 Hybris-Spartacus 项目中具有新扩展的自定义 commercewebservices