gpt4 book ai didi

android - node-gcm 发送成功但我不知道如何从客户端获取数据

转载 作者:行者123 更新时间:2023-11-30 02:50:25 26 4
gpt4 key购买 nike

所以我像这样在服务器端发送,使用 node-gcm
( https://github.com/ToothlessGear/node-gcm ):

var gcm = require('node-gcm');

var message = new gcm.Message({
collapseKey: 'demo',
delayWhileIdle: true,
timeToLive: 3,
data: {
type: 'pong',
message: 'Hello Android!'
}
});

var sender = new gcm.Sender(myAPIKey);
var registrationIds = [aDoc.registrationId];

sender.send(message, registrationIds, 4, function (err, result) {
console.log(result);
});

然后在客户端,在我的 BroadcastReceiver 中,我得到了 Logcat 消息打印和接收通知,但是附加信息(来自 intent.getStringExtra("data") 为空。我如何正确获取它?我无法在任何地方找到如何做。注册案例完美无缺。

@Override
protected void onHandleIntent(Intent intent) {
String action = intent.getAction();
Log.i(TAG, "GCM Received");

switch(action){
case GCM.ACTION_REGISTRATION:
String registrationId = intent.getStringExtra(GCM.KEY_REG_ID);
Log.i(TAG, "action received: registration: " + registrationId);
...
break;
case GCM.ACTION_RECEIVE:
String extras = intent.getStringExtra("data");
Log.v(TAG, "" + extras);
...
...

extras 始终为 null

最佳答案

通过实验,我已经解决了我的问题。 node-gcm 不是直接访问数据对象,而是直接将键值对添加到 Intent 的额外内容中:

错误:

// returns null
String dataJson = intent.getStringExtra("data");

右:

// returns "pong"
String type = intent.getStringExtra("type");

关于android - node-gcm 发送成功但我不知道如何从客户端获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24275962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com