Java 警报在到期时正确接收,但在应用程序打开后第二次错误接收

Java 警报在到期时正确接收,但在应用程序打开后第二次错误接收,java,android,notifications,broadcastreceiver,alarmmanager,Java,Android,Notifications,Broadcastreceiver,Alarmmanager,通过使用Calendar类java(示例9:15am),我能够在将来的特定时间获得通知。每当时间为上午9:15,但当我在上午9:15之后打开应用程序时(例如上午9:20),Alarm manager会将广播发送到广播接收器。我收到了同样的通知。有人能帮我解决这个问题吗 我的舱单 <receiver android:name=".others.NotificationReceiver"/> 我的闹钟管理器 AlarmManager alarmManager = (

通过使用Calendar类java(示例9:15am),我能够在将来的特定时间获得通知。每当时间为上午9:15,但当我在上午9:15之后打开应用程序时(例如上午9:20),Alarm manager会将广播发送到广播接收器。我收到了同样的通知。有人能帮我解决这个问题吗

我的舱单

<receiver android:name=".others.NotificationReceiver"/>
我的闹钟管理器

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
        Calendar calendar = Calendar.getInstance();

        calendar.set(Calendar.HOUR_OF_DAY, 9);
        calendar.set(Calendar.MINUTE, 10);
        calendar.set(Calendar.SECOND, 0);
        Intent myIntent1 = new Intent(this, NotificationReceiver.class);
        myIntent1.setAction(ACTION_ONE);
        PendingIntent pendingIntent1 = PendingIntent.getBroadcast(this, 1, myIntent1, PendingIntent.FLAG_UPDATE_CURRENT);
        alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent1);

确保NotificationReceiver在启动时未以编程方式触发。@AjayGurappanavar我该如何做?确保NotificationReceiver在启动时未以编程方式触发。@AjayGurappanavar我该如何做?
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
        Calendar calendar = Calendar.getInstance();

        calendar.set(Calendar.HOUR_OF_DAY, 9);
        calendar.set(Calendar.MINUTE, 10);
        calendar.set(Calendar.SECOND, 0);
        Intent myIntent1 = new Intent(this, NotificationReceiver.class);
        myIntent1.setAction(ACTION_ONE);
        PendingIntent pendingIntent1 = PendingIntent.getBroadcast(this, 1, myIntent1, PendingIntent.FLAG_UPDATE_CURRENT);
        alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent1);