我的Android应用AlarmManager
MainActivity.java.
来自此AlarmManager
的广播由自定义BroadcastReceiver
接收,后者又触发notification
。点击notification
后,用户将被带到应用程序的MainActivity
。
但是,由于我的AlarmManager
位于MainActivity
本身,AlarmManager
再次发送broadcast
,我再次收到notification
。简而言之,每次我启动应用程序(并且我被带到MainActivity
)时,我都会收到notification
。
这不是我想要的。我希望警报仅在我想要的时间响起,如果我点击它并被带到MainActivity
,则notification
不再出现。
任何人都可以帮我实现这个目标吗?
我的MainActivity中存在一些代码:
public void setRepeatingAlarm(){
Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+(5000), 24*60*60*1000, pendingIntent);
}
public void onResume(){
super.onResume();
clearNotification();
}
public void clearNotification(){
NotificationManager notificationManager = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();
}