问题形容
新版本的华为游戏多媒体 SDK 能够传入参数 cpAccessToken 进行 SDK 的初始化操作,以后咱们没有搭建服务器,间接在 Android 客户端调用了获取 Token 的接口,后果获取到的 Token 值是 null。
参考文档:
- 获取 Token
- SDK 初始化
问题剖析
运行代码没有报任何谬误,调用接口也没有打印任何谬误日志,只有用断点调试的形式来查看到底是哪行代码产生了异样。调试发现是上面这行代码产生了
NetworkOnMainThreadException 异样,间接跳转到了 catch 代码段,意思是在主线程拜访了网络。
在 Android 中网络拜访必须放在子线程,如果在主线程呈现拜访网络的操作,就会产生此异样。
问题解决
把接口放在子线程来调用,胜利获取到 Token 的值。(如何在子线程调用接口以及子线程与主线程如何通信,属于 Android 基础知识,此处就不再赘述。)
如果上述办法不能解决您的问题,您能够通过提单的形式获取华为的技术支持。