首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在iOS上获取deviceId

无法在iOS上获取deviceId
EN

Stack Overflow用户
提问于 2019-11-18 22:58:40
回答 2查看 69关注 0票数 1

我开发了一个使用推送通知的应用程序。在Android上,我收到来自pushRegistered(String deviceId)方法的deviceId,推送通知效果很好。在iOS上,它不起作用。我用includePush=true获得了iOS证书,在构建提示中有includePush=true。当我运行应用程序时,pushRegistered(String deviceId),pushRegistrationError(String error,int errorCode)方法什么也不做。下面是测试代码。我应该怎么做/检查才能收到deviceId?

代码语言:javascript
复制
@Override
public void registeredForPush(String deviceId) {
    this.deviceId = "registered id: " + deviceId; //TODO delete
    new DLG02GeneralInfo("PUSH REGISTRATION", "deviceId: " + deviceId, "OK", null).show();
}

@Override
public void pushRegistrationError(String error, int errorCode) {
    new DLG02GeneralInfo("PUSH REGISTRATION ERROR", "error: " + error + " errorCode: " + errorCode , "OK", null).show();
}
EN

回答 2

Stack Overflow用户

发布于 2019-11-20 22:45:51

我发现了问题所在。为了让iOS应用注册推送通知的设备,需要在main类的start()方法中添加下面这行代码:

Display.getInstance().callSerially(() -> Display.getInstance().registerPush());

Android通知不需要这行代码就可以工作。

票数 1
EN

Stack Overflow用户

发布于 2019-11-19 09:52:16

如果调用了registeredForPush,一切都应该是好的。但是你不应该使用deviceId。使用Push.getPushKey(),一旦调用registeredForPush,它将返回一个有效的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58917366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档