获取通知消息并发送至 activity

Get message of notification and send to the activity

这是我正在创建消息通知 "wake up wake up !!!" 当通知在特定时间出现并且用户点击它时我想做什么我需要收到该消息 "wake up wake up !!!" 并发送到 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());

但我无法弄清楚如何获取点击通知的 message/data 并发送到下一个 activity?

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);

在您的 SnoozeActivityonCreate() 方法中,您可以查询 Intent 的额外内容:

Intent intent = getIntent();
if (intent.hasExtra("com.example.mycoolapp.MYDATA"))
{
     String myText = intent.getStringExtra("com.example.mycoolapp.MYDATA");
}    

建议您用于 Intent extras 的密钥以您的包名称开头。

注意 并非所有类型的数据都可以使用 putExtra(),请参阅 documentation