首页 > 解决方案 > 为什么 AlarmClock.EXTRA_SKIP_UI 不能与 AlarmClock.ACTION_DISMISS_ALARM 一起使用?

问题描述

我正在构建一个使用默认警报应用程序来设置警报的应用程序。当我使用AlarmClock.EXTRA_SKIP_UI设置警报时,它实际上跳过了意图 UI 并设置了警报。但是,当我使用与 相同的跳过 UI 时ACTION_DISMISS_ALARM,会弹出默认警报应用程序。

这是设置闹钟的代码:

Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM);
            intent.putExtra(AlarmClock.EXTRA_MESSAGE,"id:"+indexOfNote);
            intent.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
            intent.putExtra(AlarmClock.EXTRA_HOUR,alarmHour);
            intent.putExtra(AlarmClock.EXTRA_MINUTES,alarmMin);
            startActivity(intent);

这是解除警报的代码:

 Intent intent = new Intent(AlarmClock.ACTION_DISMISS_ALARM);
            intent.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.putExtra(AlarmClock.EXTRA_ALARM_SEARCH_MODE, AlarmClock.ALARM_SEARCH_MODE_LABEL);
            intent.putExtra(AlarmClock.EXTRA_MESSAGE,"id:"+index );
            startActivity(intent);

标签: javaandroid

解决方案


我正在构建一个使用默认警报应用程序设置警报的应用程序

有数十个(如果不是数百个)适用于 Android 的闹钟应用程序可能会支持这些Intent操作。这包括预装的闹钟应用程序和用户安装的闹钟应用程序。没有单一的“默认警报应用程序”。

但是当我使用与 ACTION_DISMISS_ALARM 相同的跳过 ui 时,会弹出默认警报应用程序

EXTRA_SKIP_UI没有记录用于与ACTION_DISMISS_ALARM. 所以,你所看到的正是我所期望的。


推荐阅读