当前位置: 首页 > 知识库问答 >
问题:

AWS SNS未传递GCM数据

宋岳
2023-03-14

我正在使用Amazon SNS向Android设备发送推送通知。如果我发送以下JSON,我将无法读取数据元素中的参数

{ “默认”: “消息在这里”, “GCM”: { “数据”: { “消息”: “这是消息” } } }

我可以读取默认元素,但是在我的broadcastreceiver中我不能这样做。

受保护的无效在手本(意图意图) {

    Bundle extras = intent.getExtras();

    Log.d("GCM",extras.getString("message");

}

尝试读取消息元素会导致错误。

如果我直接通过GCM发送,我可以读取所有以数据开始的参数。使用上述方法没有任何问题。

我做错了什么?

共有1个答案

狄鸿禧
2023-03-14

您需要在GCM值中转义双引号。

{ "default": "message here", "GCM": "{ \"data\": { \"message\": \"This is the message\" } }" }
 类似资料:
  • 问题内容: 这是我的Java代码: 我这样称呼它: 问题是呼叫保持发布零零零,似乎我没有正确传递x和y。 更新资料 回答之后,我将请求更改为: 服务是: 但我仍然有同样的问题。这是服务器的响应: 您可以在末尾看到零:( 问题答案: (请注意,不是)是表单数据()向其发送了请求的正文,其中您的资源方法应更像 并且以下请求将起作用 注意: 在Windows中,必须使用双引号() 您甚至可以分离键值对

  • 我有一个类来注册和执行我的自定义endpoint。 如果我在类之外注册我的endpoint,我可以在回调函数中获取我的endpoint的参数。但是在类内部,参数不会传递 代码如下: 以下是我运行此终结点时得到的内容 知道为什么吗?

  • 您可以将其他数据作为常规方法参数传递到后台任务。我再次使用下面的例子(希望没有让你厌恶): BackgroundJob.Enqueue(() => Console.WriteLine("Hello, {0}!", "world")); 在常规方法调用中,在执行后台作业期间, Console.WriteLine 方法将使用这些参数。为了参数传递进去,需要先序列化。 使用 了不起的 Newtonsof

  • 我的程序显示一行水平滑动的按钮,其中包含艺术作品的文字描述。单击按钮时,ImageActivity启动以显示相应的艺术品。但是,当我点击任何文本按钮时,它总是显示数组中最后一幅画。 我试图将int ID传递给第二个活动,以便一旦单击相应的描述,它将显示正确的绘画。 非常感谢。 以下是我的主要活动: 我正在尝试将整数ID传递给: } 还有绘画数据库,我要从那里获取身份:

  • https://loginter.moveon.pro/?rest_route=/simple-jwt-login/v1/auth&email=email&password=密码 并得到如下所示的JSON: 我正在Android Studio上使用Volley库。 null null 在应用程序build.gradle build.gradle Volley依赖项中安装了Volley 在my ma

  • null 我想在单击垃圾图标时传递每个条目的数据属性,但是对于当前的js代码,我只获得第一个条目的ID。 下面是我的html btn代码,其中“entry-num”是从DB生成的条目id: 下面是我的js代码,我正在尝试(目前)在控制台中传递值: