我正在开发一个android应用程序,在华为设备上我面临很多问题。我在我的应用程序中使用了FusedLocation和Notifications,因此我不得不为华为设备开发另一个应用程序,因为许多华为设备现在不支持GMS。我无法理解HMS和GMS的主要区别。
- 如果华为设备同时包含GMS和HMS,并且从app Gallery(包含HMS支持)下载应用程序,则HMS核心会导致一些问题。通知和位置回调无法正常工作。
- 如果设备只包含HMS核心,并且应用程序是从AppGallery下载的,那么它将正常工作。
建议使用GMS和HMS合一的方案。优点如下:
- 降低应用程序打包的复杂性。一个包可以同时发布到Google Play和HUAWEI AppGallery。
- 降低代码维护成本。在原逻辑代码基础上增加HMS+GMS适配层代码。这样,就可以根据手机自动调用适当的代码。也就是说,您不需要修改现有的逻辑代码,也不需要维护两组代码。
建议您使用HUAWEI HMS ToolKit工具,该工具可以帮助您快速添加HMS+GMS适配层代码,并升级逻辑代码,使其同时支持GMS和HMS。
具体请参考这个问题:在项目中同时使用GMS和HMS。