获取通知消息并发送到活动

时间:2016-01-12 14:30:00

标签: android notifications push-notification alarmmanager android-alarms

这是我正在创建通知消息“唤醒醒来!!!”     当特定时间和用户点击通知时我想做什么我需要得到消息“唤醒醒来!!!”并发送到 SnoozeActivity 其中我正在创建自定义警报对话框,我想在该对话框中显示该消息

        alarmNotificationManager = (NotificationManager) this
                .getSystemService(Context.NOTIFICATION_SERVICE);
       PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
                new Intent(this, SnoozeActivity.class), 0);


        NotificationCompat.Builder alamNotificationBuilder = new NotificationCompat.Builder(
                this).setContentTitle("Alarm").setSmallIcon(R.drawable.ic_launcher)
                .setStyle(new NotificationCompat.BigTextStyle().bigText("wake up wake up !!!"))
                .setContentText(msg).setAutoCancel(true);


        alamNotificationBuilder.setContentIntent(contentIntent);
        alarmNotificationManager.cancelAll();
        alarmNotificationManager.notify(1, alamNotificationBuilder.build());

但我无法弄清楚如何获取点击通知的消息/数据并发送到下一个活动?

1 个答案:

答案 0 :(得分:0)

Intent可以携带您通过Intent.putExtra()附加的数据,如下所示:

Intent intent = new Intent(this, SnoozeActivity.class);
intent.putExtra("com.example.mycoolapp.MYDATA", "wake up wake up !!!");

然后继续

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

onCreate()的{​​{1}}方法中,您可以查询SnoozeActivity其他内容:

Intent

建议用于Intent intent = getIntent(); if (intent.hasExtra("com.example.mycoolapp.MYDATA")) { String myText = intent.getStringExtra("com.example.mycoolapp.MYDATA"); } 个附加功能的密钥以您的软件包名称开头。

注意并非Intent可以提供所有类型的数据,请参阅documentation