Java 如何以编程方式切换这些选项?

Java 如何以编程方式切换这些选项?,java,android,toggle,Java,Android,Toggle,如何以编程方式切换这些开关?我尝试过各种方法,例如: private void allowAlarms() { NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); assert notificationManager != null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)

如何以编程方式切换这些开关?我尝试过各种方法,例如:

private void allowAlarms() {
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
assert notificationManager != null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
    notificationManager.setNotificationPolicy(
            new NotificationManager.Policy(NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS,
                    NotificationManager.Policy.PRIORITY_SENDERS_ANY,
                    NotificationManager.Policy.PRIORITY_SENDERS_ANY));
}
notificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_PRIORITY);
}

甚至简单地取消手机静音:

    private void allowAlarms() {
    final AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    assert am != null;
    am.adjustVolume(AudioManager.STREAM_ALARM, AudioManager.ADJUST_UNMUTE);
    System.out.println("Alarms ON");
}
什么都不起作用,这意味着警报声没有打开/打开。 谢谢你的帮助

编辑:只是为了确认动作、通知、策略、访问权限是否正确


还有一个问题:如果我查看谷歌的源代码来确定他们是如何做到的,有没有大致的想法可以看看哪里

管理android通知系统的官方最新api随附android 8(api级别26)

您可以查看以下详细讨论此问题的主题:

新的api可以更好地控制通知系统以及如何在应用程序级别对其进行调优

官方文件:


使用此api,您可以在应用程序内覆盖请勿打扰的系统配置,但不能更改您提到的总体设置。请注意,这可能不会被视为解决您的问题的方法。

管理android通知系统的官方和最新api随附android 8(api级别26)

您可以查看以下详细讨论此问题的主题:

新的api可以更好地控制通知系统以及如何在应用程序级别对其进行调优

官方文件:


使用此api,您可以在应用程序内覆盖请勿打扰的系统配置,但不能更改您提到的总体设置。可能是这样,这可能不会被视为解决您所问问题的方法。

Hmm,谢谢,但这更多是关于创建绕过请勿打扰的通知,但谢谢。是的,这是正确的!总体系统设置似乎无法更改,谢谢,但这更多是关于创建绕过请勿打扰的通知,但谢谢。是的,这是正确的!似乎无法更改整个系统设置