在Android中,为什么每20分钟显示一次计划通知而不是每20分钟显示一次计划时间,以及如何修复?

在Android中,为什么每20分钟显示一次计划通知而不是每20分钟显示一次计划时间,以及如何修复?,android,notifications,alarmmanager,Android,Notifications,Alarmmanager,我有一个通知,显示时会显示不同的活动,以鼓励用户参与。通知显示,但在遵循Android开发者文档之后,我将其编程为每天下午2点显示,并且只显示一次。不幸的是,它每20分钟显示一次。我不知道我做错了什么。我遵循了一个教程,每2小时显示一个自定义通知,以获得基本的理解,但不希望用户看到那么多通知。然后我查看了SO上的各种问题/答案,发现使用alarm manager将是最佳选择。我根据Google alarm manager的示例修改了代码,但它没有按预期工作。以下是我的代码和我迄今为止尝试的内容:

我有一个通知,显示时会显示不同的活动,以鼓励用户参与。通知显示,但在遵循Android开发者文档之后,我将其编程为每天下午2点显示,并且只显示一次。不幸的是,它每20分钟显示一次。我不知道我做错了什么。我遵循了一个教程,每2小时显示一个自定义通知,以获得基本的理解,但不希望用户看到那么多通知。然后我查看了SO上的各种问题/答案,发现使用alarm manager将是最佳选择。我根据Google alarm manager的示例修改了代码,但它没有按预期工作。以下是我的代码和我迄今为止尝试的内容:

清单

<service
    android:name=".EngagementNotification"
    android:enabled="true"
    android:exported="false" />

<receiver android:name=".EngagementNotificationInitReceiver" />
<receiver android:name=".EngagementNotificationInit">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.TIMEZONE_CHANGED" />
        <action android:name="android.intent.action.TIME_SET" />
    </intent-filter>
</receiver>
public class EngagementNotificationInit extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        EngagementNotificationInitReceiver.setupAlarm(context);
    }
}
约定通知初始化

<service
    android:name=".EngagementNotification"
    android:enabled="true"
    android:exported="false" />

<receiver android:name=".EngagementNotificationInitReceiver" />
<receiver android:name=".EngagementNotificationInit">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.TIMEZONE_CHANGED" />
        <action android:name="android.intent.action.TIME_SET" />
    </intent-filter>
</receiver>
public class EngagementNotificationInit extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        EngagementNotificationInitReceiver.setupAlarm(context);
    }
}
EngagementNotificationInitReceiver.setupAlarm方法旨在确保通知在指定时间每天显示一次