1

お知らせを作成しました。ユーザーが Android オペレーティング システム内で通知をクリックすると、目的のアクティビティが正常に開始されます。Activity_Send.class で OnCreate を呼び出します。私の質問は、その通知に関する情報にアクセスできますか? 通知のタイトル、または ID、またはアクティビティを呼び出すときに取得できる通知を作成するときに設定できるパラメーターを渡すことさえ可能ですか??

以下のコードは、私の通知を作成するために使用するものです...改訂されたコード

private static void notice(String msgfrom, String msg) {
Intent intent = null;
    String title;

TaskStackBuilder stackBuilder = TaskStackBuilder.create(appctx);

title = "New message from " + msgfrom;
SendUser = msgfrom;     // Who we sending message to?
intent = new Intent( appctx, Activity_Send.class);  
intent.putExtra("from", msgfrom);
intent.putExtra("id",Integer.toString(NoticeCount));
if (whoscreen != null) { stackBuilder.addNextIntent(whoscreen); }
stackBuilder.addNextIntent(intent);

//PendingIntent pintent = PendingIntent.getActivity(appctx,NoticeCount,intent, 0);
PendingIntent pintent = stackBuilder.getPendingIntent(NoticeCount, PendingIntent.FLAG_UPDATE_CURRENT);

NotificationCompat.Builder nb =   new NotificationCompat.Builder(appctx);
nb.setSmallIcon(R.drawable.pp);
    nb.setContentTitle(title);
nb.setContentText(modmsg);
nb.setAutoCancel(true);
nb.setContentIntent(pintent);


    Notification notification = nb.build();
    NotificationManager NM = (NotificationManager) appctx.getSystemService(NOTIFICATION_SERVICE);
    NM.notify(NoticeCount, notification);   
    NoticeCount = NoticeCount +1;
}
4

1 に答える 1

0

エクストラとしてクラスIntentを開始するために使用される には、何でも好きなものを入れることができます。例えば:Activity_Send

intent.putExtra("notificationTitle", title);
intent.putExtra("notificationId", NoticeCount);

の作成に使用するコードは投稿していませんが、次のpintentようになります。

pintent = PendingIntent.getActivity(this, 0, intent, 0);

これPendingIntentは、次にNotificationusingに設定されsetContentIntent()ます。

onCreate()ofでは、Activity_Send次のようにエクストラを取得できます。

String notificationTitle = getIntent().getStringExtra("notificationTitle");
int notificationId = getIntent().getIntExtra("notificationId", -1);
于 2013-05-08T22:49:32.877 に答える