0

以下是我正在創建消息的通知「喚醒喚醒!!!」 當通知發生在特定的時間和用戶點擊它時,我想要做什麼,我需要得到那個消息「喚醒喚醒!!!」併發送至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

一個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演員的密鑰以您的包名稱開頭。

注意並不是每一種數據是可能的putExtra(),請參閱documentation

+0

使用該 – Dhiraj

+1

@Dhiraj越來越空 - 忘記「PendingIntent.FLAG_UPDATE_CURRENT」,現在的工作我的樣本 – 0X0nosugar

+0

完美的.... ... !!!!!!!!!! – Dhiraj

相關問題