【问题标题】:confusion with c2dm messaging in android与 android 中的 c2dm 消息传递混淆
【发布时间】:2012-05-28 16:32:36
【问题描述】:

我已经实现了一个使用此 c2dm 代码http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html 的小演示。它可以工作。我正在从服务器接收推送通知,但问题是每当我从服务器发送通知时它会发送旧通知。它只会发送当前的新通知我注册了我的 android 设备并将注册 ID 发送到服务器。请建议我应该是什么问题。提前谢谢..

【问题讨论】:

  • 内容代码与我在问题中发布的链接相同

标签: android android-c2dm


【解决方案1】:

据我记得,当我自己遵循 Lars Vogel 的教程时,我遇到了同样的问题。其实不是你说的问题。

尝试在 onReceive() 函数中放置一个断点来手动查看你得到的负载。在我的情况下,消息很好,但 MessageReceivedActivity 不是,它总是显示坏消息。

将 MessageReceivedActivity 中的 super.onCreate() 方法放在该方法的顶部。

如何:

@Override
protected void onCreate(Bundle savedInstanceState) {
    setContentView(R.layout.activity_result);
    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        String message = extras.getString("payload");
        if (message != null && message.length() > 0) {
            TextView view = (TextView) findViewById(R.id.result);
            view.setText(message);
        }
    }

    super.onCreate(savedInstanceState);
}

应该如何:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_result);
    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        String message = extras.getString("payload");
        if (message != null && message.length() > 0) {
            TextView view = (TextView) findViewById(R.id.result);
            view.setText(message);
        }
    }
}

【讨论】:

    【解决方案2】:

    @RaulGogo 的回答有点帮助,但并没有为我解决问题。要在此处查看此解决方案 https://stackoverflow.com/a/10079537/264618 并阅读下面的我的 cmets。

    一般在 C2DMMessageReceiver 类中更改此代码:

    int ukey = (int) System.currentTimeMillis();
    PendingIntent pendingIntent = PendingIntent.getActivity(context, ukey,
                intent, 0);
    

    并将其添加到 MessageReceivedActivity 类中:

        @Override
        protected void onNewIntent(Intent intent) {
            super.onNewIntent(intent);
            setIntent(intent);//important!
    

    注意:setIntent(intent) 调用会使用当前数据刷新意图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多