私はこのように通知を設定しました:
public void onReceive(Context context, Intent intent) {
nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Bundle bundle = intent.getExtras();
CharSequence from = bundle.getString("alarm_title");
CharSequence message = bundle.getString("alarm_text");
int notify_id = bundle.getInt("notify_id");
Intent notifyIntent = new Intent(context, AppActivity.class);
notifyIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notifyIntent, 0);
Notification notif = new Notification(R.drawable.ic_menu_glases, "App Information", System.currentTimeMillis());
notif.contentIntent = contentIntent;
notif.setLatestEventInfo(context, from, message, contentIntent);
notif.flags = Notification.FLAG_AUTO_CANCEL;
nm.notify(notify_id, notif);
}
すべてが正常に機能し、私はそれに満足しています。cancel
IDによる通知をお願いします。
私の最初の試みは失敗しました(まだアラームが鳴っています):
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(getApplication(), AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplication(), notifyID, intent, PendingIntent.FLAG_ONE_SHOT);
if(pendingIntent != null) {
am.cancel(pendingIntent);
pendingIntent.cancel();
}
そして2回目の試行も失敗しました:
NotificationManager nm = (NotificationManager) getApplication().getSystemService(Context.NOTIFICATION_SERVICE);
nm.cancel(notify_id);
一度設定したら通知を停止する方法を知っている人はいますか?ありがとうございました!