推送通知在Android中无效,代号为

时间:2017-07-01 13:37:02

标签: java android push-notification google-play-services codenameone

我未能在Codename One,Android中实施推送通知。

由于public void registeredForPush(String deviceId)接口的PushCallback方法被成功调用,因此现在注册push正好如下所示。

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

但是,似乎服务器无法正常工作。

new Push(PUSH_TOKEN, "Hello World", deviceId)
            .gcmAuth(GCM_SERVER_API_KEY)
            .send();

以上,deviceId来自Android手机本身,也就是说,app可用作推送通知服务器以及客户端。 我认为这段代码应该将通知推送到手机本身。

当然,我遵循指南here

我还在手机设置中打开了此应用的通知,我的代号是一个专业的帐号,但我不知道为什么通知会到达我的Android手机。

请帮我解决这个问题。

(NetBeans IDE 8.2(Build 201705191307)

Codename One Version:3.7.1)

1 个答案:

答案 0 :(得分:1)

我找到了原因。 首先,我必须使用Push.getPushKey()方法来获取手机的设备ID。 但我管理的手机设备ID如下:

public void registeredForPush(String deviceId) {
        store(deviceId); //this should be store(Push.getPushKey()); instead.
}

但这绝对是错误的。 正如Shai在评论中所说,推送通知的设备ID应该从'cn1-gcm'开始,但这里deviceId并非如此。 我很困惑为什么registeredForPush()方法有devieId作为参数,这让开发人员感到困惑。

无论如何,当我在我的代码中使用Push.getPushKey()时,它现在可以正常工作。 我现在非常高兴,感谢Shai和所有的Codename One。