0

データをインテントに入れることとそれを読み取ることの間に不一致のデータがあるという問題があります。私のサービスでは、通知を作成し、インテントにパラメーターを追加しています。通知が表示されたら、パラメータは問題ありません。しかし、通知を開くと、パラメーターは有線で機能します。システムで真のパラメーターを取得しますが、一度送信すると取得できません。この問題は、サービスで通知を作成しているためですか?

public void createNotification(ChatMessage message) 
{

    Notification notification = new Notification(R.drawable.ic_action_sm, 
                                                 "Message From" +
                                                 " " + message.getSenderName(),
                                                 System.currentTimeMillis());

    notification.flags |= Notification.FLAG_AUTO_CANCEL;

    Intent intent = new Intent(this, ChatActivity.class);
    intent.putExtra("userProfile", message.getReciverChatProfile());        
    intent.putExtra("friendProfile", message.getSenderChatProfile());

    PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0);

    notification.setLatestEventInfo(this,
                                    message.getSenderName(),
                                    message.getMessage(),
                                    activity);
    notification.number += 1;
    notification.iconLevel = 3;
    notificationManager.notify(0, notification);
} 
4

1 に答える 1

0

FLAG_UPDATE_CURRENT を追加すると問題が解決しました。

PendingIntent activity = PendingIntent.getActivity(this, 0,intent,PendingIntent.FLAG_UPDATE_CURRENT);
于 2012-09-12T10:05:23.970 に答える