HarmonyOS鸿蒙Next中集成DRM,Oncheck()成功,但是无限次调用oncheckSuccess()回调

HarmonyOS鸿蒙Next中集成DRM,Oncheck()成功,但是无限次调用oncheckSuccess()回调 继一上贴drm 报错因不明原因消失。drm.check()也回返也成功。代码运行后,无限次调用

DrmCheckCallback.onCheckSuccess()

根据华为官方教程,需要在Main Activity 中,执行Drm.check(),如下:

然后再继承

DrmCheckCallback类中的 onCheckSuccess(),onCheckFailed()。现在的问题是Drm.check()成功执行了,但是无限次调用OnCheckSuccess(),预期应该只调用一次。有遇到过的朋友指点一下。

更多关于HarmonyOS鸿蒙Next中集成DRM,Oncheck()成功,但是无限次调用oncheckSuccess()回调的实战教程也可以访问 https://www.itying.com/category-93-b0.html

14 回复

该贴结尾: 从开始2023-08-27 提单,到今天解决并测试通过2023-09-05 ,一共消耗7个工作日。

问题原因: drm sdk的开发说明存在错误。

更多关于HarmonyOS鸿蒙Next中集成DRM,Oncheck()成功,但是无限次调用oncheckSuccess()回调的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


经过和客服工程师的多轮对沟通,该问题已解决。

在Activity中不要在 onResume() 中调用,Drm.check(),因为在此中时完成check,dialog关掉之后回重新走这个回调方法.所以造成了无限次调用。

已建议其修改说明文档。

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

支持工程师目前沟通说,暂时在onCreate()中调用 drm.check()。问题待开发工程师定位。

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

增加一条记录:

由于上一个问题:

莫明其妙的没有了,然后才出现了本贴中的问题。由于sdk只有一个函数可以调用,我实在找不到其它办法了,提了一个单子。没有想到问题竟然消息了。解决问题的办法很简单。就是将OnRestart(),OnResume(),onStart()中的drm.check()去掉,就不会无限次的调用了。

但是drm sdk 的说明是需要在这几个状态下调用drm.check()的?我有点晕。

下面是drm sdk开发说明的原文:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/appgallerykit-paidapps-devguide-0000001073913394

使用DevEco Studio的API9可以集成极光、莹石云、linphone等外部SDK使用吗?

devEco studio 它只是一个工具。只要对方提供了android sdk 那就是可以集成的。你说的Api19是android的api吗?这个版本好像有点儿低。

低版本的api会比较多的时间成本去适配兼容。

您好,您的问题需进一步分析,请您至工单咨询并提供appid和使用的服务等信息,会有技术人员和您对接:https://developer.huawei.com/consumer/cn/support/feedback/#/,感谢您的支持~

您这个版主真不容易。这个问题已经没有办法分析了,因为在没有修改代码的情况drm.check() 又不行了。

开发者您好,很抱歉仅靠您描述的问题及截图等内容,相关负责人员无法判断您遇到的问题是什么,同时部分问题需要提供日志等内容,论坛当前不支持该功能。

多谢版主的热心支持。这个问题是跟随性问题,也就是前一个问题解决才会出现的。前一个问题又复现了,这个问题就没有办法复现了。版主也挺辛苦的,不用管我这个贴子。此贴算是我用来记录我的开发过程。再次感谢版主的关注。

在HarmonyOS鸿蒙Next中集成DRM时,如果Oncheck()成功但oncheckSuccess()回调被无限次调用,可能是由于以下原因:

  1. 回调逻辑问题:检查oncheckSuccess()回调中是否有触发Oncheck()的逻辑,导致循环调用。
  2. 事件监听未移除:确保在oncheckSuccess()中移除了相关的事件监听器,避免重复触发。
  3. DRM状态管理:确认DRM状态是否正确更新,避免因状态未更新而重复调用回调。

建议检查代码逻辑,确保回调不会触发重复的检查操作,并合理管理DRM状态。

回到顶部