Android:AlarmManager在我每次运行活动时都会关闭
我的Android应用程序的Android:AlarmManager在我每次运行活动时都会关闭,android,alarmmanager,android-notifications,android-alarms,android-broadcast,Android,Alarmmanager,Android Notifications,Android Alarms,Android Broadcast,我的Android应用程序的MainActivity.java中有一个AlarmManager。 来自此AlarmManager的广播由自定义BroadcastReceiver接收,然后触发通知。单击通知时,用户将进入应用程序的main活动 但是,由于我的AlarmManager位于main活动中,因此AlarmManager再次发送广播,我再次收到通知。因此,简而言之,每次启动应用程序(我被带到main活动),我都会收到通知 这不是我想要的。我希望警报只在我想要的时间发出,如果我点击该按钮并被
MainActivity.java中有一个AlarmManager
。
来自此AlarmManager
的广播由自定义BroadcastReceiver
接收,然后触发通知。单击通知
时,用户将进入应用程序的main活动
但是,由于我的AlarmManager
位于main活动
中,因此AlarmManager
再次发送广播
,我再次收到通知
。因此,简而言之,每次启动应用程序(我被带到main活动
),我都会收到通知
这不是我想要的。我希望警报只在我想要的时间发出,如果我点击该按钮并被带到main活动
,则不会再次出现通知
。
有人能帮我做到这一点吗
我的主要活动中存在一些代码:
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();
}
一些代码会更有帮助吗?通知会启动一个不同的活动而不是启动警报的活动吗?在构建通知时创建的意图中的额外设置如何告知MainActivity不要设置报警?实现这一点的方法有很多,即使通知将用户带到另一个活动,只要用户打开应用程序,因为MainActivity是第一个运行的活动,用户也会收到通知。请告诉我如何添加额外内容,告诉活动不要设置闹钟。我认为你的问题遗漏了最重要的部分。必须有一些标准告诉应用程序:现在是设置警报的时间(或者现在不是设置警报的时间)。在我们讨论实施细节之前,请先详细说明此标准。因为解决方案只是根据此标准进行检查,如果符合,则设置警报,否则不要设置警报。关于这个标准,你写的唯一一句话是:“我希望警报只在我想要的时间响”