Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:AlarmManager在我每次运行活动时都会关闭_Android_Alarmmanager_Android Notifications_Android Alarms_Android Broadcast - Fatal编程技术网

Android:AlarmManager在我每次运行活动时都会关闭

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活动),我都会收到通知 这不是我想要的。我希望警报只在我想要的时间发出,如果我点击该按钮并被

我的Android应用程序的
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是第一个运行的活动,用户也会收到通知。请告诉我如何添加额外内容,告诉活动不要设置闹钟。我认为你的问题遗漏了最重要的部分。必须有一些标准告诉应用程序:现在是设置警报的时间(或者现在不是设置警报的时间)。在我们讨论实施细节之前,请先详细说明此标准。因为解决方案只是根据此标准进行检查,如果符合,则设置警报,否则不要设置警报。关于这个标准,你写的唯一一句话是:“我希望警报只在我想要的时间响”