这是我正在创建通知消息“唤醒醒来!!!” 当特定时间和用户点击通知时我想做什么我需要得到消息“唤醒醒来!!!”并发送到 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());
但我无法弄清楚如何获取点击通知的消息/数据并发送到下一个活动?
答案 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