このようなアクティビティで通知を作成します。
public static void buildNotification(Context context, int id, String notiContent){
NotificationManager notificationManager
= (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
Intent intent = new Intent(context, NotifyActivity.class);
intent.putExtra("notiContent", notiContent);
intent.putExtra("notiId", id);
intent.setFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
PendingIntent pendingIntent
= PendingIntent.getActivity(context, 0, intent, 0);
builder
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("")
.setContentText(notiContent)
.setContentInfo(""+Math.random())
.setTicker("!")
.setLights(0xFFFF0000, 500, 500) //setLights (int argb, int onMs, int offMs)
.setContentIntent(pendingIntent)
.setAutoCancel(true);
Notification notification = builder.build();
nc++;
notificationManager.notify(nc, notification);
}
ただし、onCreate
メソッドは常に同じ追加データを取得します ( notiId
)。
Intent の再作成を強制する方法は? または、余分なデータをアクティビティに渡す他の方法はありますか?