问题描述

新版本的华为游戏多媒体SDK可以传入参数cpAccessToken进行SDK的初始化操作,当前我们没有搭建服务器,直接在Android客户端调用了获取Token的接口,结果获取到的Token值是null。

参考文档:

问题分析

运行代码没有报任何错误,调用接口也没有打印任何错误日志,只有用断点调试的方式来查看到底是哪行代码发生了异常。调试发现是下面这行代码发生了

NetworkOnMainThreadException异常,直接跳转到了catch代码段,意思是在主线程访问了网络。


在Android中网络访问必须放在子线程,如果在主线程出现访问网络的操作,就会发生此异常。

问题解决

把接口放在子线程来调用,成功获取到Token的值。(如何在子线程调用接口以及子线程与主线程如何通信,属于Android基础知识,此处就不再赘述。)

如果上述方法不能解决您的问题,您可以通过提单的方式获取华为的技术支持。


华为开发者论坛
352 声望56 粉丝

华为开发者论坛是一个为开发者提供信息传播、开发交流、技术分享的交流空间。开发者可以在此获取技术干货、华为源码开放、HMS最新活动等信息,欢迎大家来交流分享!