2个通知,只有一个我可以打开,另一个没有启动我的活动

时间:2011-10-27 08:20:57

标签: android android-c2dm

我的问题是,当我发送多个通知时(从服务器通过c2dm从手机发送到手机),我会收到所有信息。

我看到我有两个带通知的图标。当我点击其中一个是我的信息(我点击它,我getActivity),另一个是不真实的...没有开始活动。

我读了一些关于PendingIntent的内容,它启动了一次活动,但我不知道该怎么做。

我需要获取所有通知,而不仅仅是最后一次(它不像更新)。

private void incomingTestp(JSONObject json, Context context) throws JSONException {
    Intent intent = new Intent(context, TestpViewActivity.class);
    Testp testp = Testp.fromJSON(json);

    TestpServiceUtil.save(testp);
    intent.putExtra("testpId", testp.getTestpId());

    sendNotification("New Testp", "update", intent, testp.getTestpId(), context);
}

private void incomingTestr(JSONObject json, Context context) throws JSONException {
    Intent intent = new Intent(context, TestrViewActivity.class);
    Testr Testr = Testr.fromJSON(json);

    TestrServiceUtil.save(testr);
    intent.putExtra("testrId", testr.getTestrId());

    sendNotification("New Testr", "update", intent, report.getTestrId(), context);

}   

private void sendNotification(String title, String description, Intent intent, long id, Context context) {
    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Service.NOTIFICATION_SERVICE);
    Notification notification = new Notification(R.drawable.icon, title, System.currentTimeMillis());
    intent.putExtra("force", true);
    notification.flags |= Notification.FLAG_AUTO_CANCEL;
    notification.setLatestEventInfo(context.getApplicationContext(), title, description, PendingIntent.getActivity(context, requestCode++, intent, Intent.FLAG_ACTIVITY_NEW_TASK));
    notification.vibrate = new long[] { 0, 200, 100 };
    //notification.defaults |= Notification.DEFAULT_SOUND;
    notificationManager.notify("Test", (int) id, notification);

}

我向您提供更多信息,以了解我如何称呼此方法。

1 个答案:

答案 0 :(得分:1)

尝试:PendingIntent.getActivity(context,requestCode ++,intent,0);