Попросите alarmManager не отображать время и значок будильника на экране и сверху - PullRequest
0 голосов
/ 15 декабря 2018

Я хочу вызвать приемник точно в срок, поэтому я использую будильник, чтобы установить его, используя следующий код.Все работает, кроме моего экрана и в верхней части экрана я вижу значок будильника и время.Подобно тому, что вы видите, когда вы устанавливаете будильник с помощью приложения будильника в Android.Я не хочу видеть это.Как я могу это сделать?

private static void updateNextAlarmInAlarmManager(Context context, long nextAlarmTime) {
        // Sets a surrogate alarm with alarm manager that provides the AlarmClockInfo for the
        // alarm that is going to fire next. The operation is constructed such that it is ignored
        // by AlarmStateManager.

        final AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);

        final int flags = 0;
        final PendingIntent operation = PendingIntent.getBroadcast(context, 0 /* requestCode */,
                createIndicatorIntent(context), flags);

        final AlarmManager.AlarmClockInfo info = new AlarmManager.AlarmClockInfo(nextAlarmTime, getPendingIntentForApp(context, nextAlarmTime));
        alarmManager.setAlarmClock(info, operation);
    }

До перехода setAlarmClock я использовал setExactAndAllowWhileIdle, но setExactAndAllowWhileIdle не гарантирует, что оно доставит событие точно в срок.Но на экране не отображается значок будильника, чего я и хочу.

1 Ответ

0 голосов
/ 15 декабря 2018

Как я могу это сделать?

Не используйте setAlarmClock().Как указывает документация , "система, как правило, будет также использовать предоставленную здесь информацию, чтобы сообщить пользователю об этой предстоящей тревоге в случае необходимости".

...