在奥利奥打开请勿打扰偏好

时间:2018-04-30 14:30:24

标签: android android-intent android-preferences android-8.1-oreo

我无法从我的应用中打开系统DND preferences,以便用户可以创建或编辑Automatic Time rule

现状

我们的应用程序已经具有类似的功能,可以在某个特定时间段(例如在晚上10点到8点之间)禁用应用程序通知LED,声音和振动,并在应用程序范围内应用。从Android Oreo开始,由于通知频道,我们的功能不再适用。据我所知,唯一的解决方案是在系统偏好Automatic Time rule中创建,然后在系统范围内应用。

我想做什么?

只是将Oreo用户从我的应用程序重定向到系统偏好设置即。 请勿打扰首选项以添加或编辑时间规则。

问题

没有特定的Intent可以打开请勿打扰首选项。我能找到的最接近的是Settings.ACTION_ZEN_MODE_PRIORITY_SETTINGS,它引导我this Preference screen。我还找到了action which I exactly need,但正如您所看到的,它被注释隐藏了。

这是否意味着无法打开此Preference屏幕,我应该使用其他方法?

1 个答案:

答案 0 :(得分:0)

我也有很长一段时间一直在问这个问题,现在我终于找到了适合我的解决方案:

Java

Intent intent = new Intent();
intent.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings$ZenModeSettingsActivity"));
startActivity(intent);

科特林

val intent = Intent()
intent.component = ComponentName("com.android.settings", "com.android.settings.Settings\$ZenModeSettingsActivity")
startActivity(intent)