代码之家  ›  专栏  ›  技术社区  ›  D. Müller

Android 8:当铃声模式为静音时,无法将铃声模式更改为非静音

  •  1
  • D. Müller  · 技术社区  · 6 年前

    我编写了一个Android应用程序,如果广播接收器收到通知,它会将铃声模式从任何模式更改为普通模式。

    它在Android<8上运行良好。

    它也适用于我的Android 8设备,如果 振铃模式!=无声 当广播接收器作出反应时。

    • 振铃模式!=静音并将其更改为任何铃声模式
      • 适用于所有设备
    • 振铃器模式==静音并将其更改为静音模式
      • 适用于所有设备
    • 振铃器模式==静音并将其更改为非静音模式
      • 仅适用于带有Android<8的旧设备

    当在Android 8上从静默变为非静默时,我得到一个例外 Boradcast already finished ?!

    这种行为只在我的Android 8设备上发生,旧设备运行良好。

    有人能帮上忙吗?谢谢您!

    1 回复  |  直到 6 年前
        1
  •  0
  •   D. Müller    6 年前

    我找到了解决这个问题的方法:这是由Android新版本中的“请勿打扰”模式造成的。

    要禁用此静默模式,您必须

    1. 向AndroidManifest添加权限:

      使用权限android:name=“android.permission.ACCESS\u通知策略”

    2. 请用户允许出于以下目的离开此“请勿打扰”模式:

      Intent Intent=新意图(android.provider.Settings.ACTION_NOTIFICATION_POLICY_ACCESS_Settings); 星体触觉(意图);

    另请参见此问题/答案: In Android 7 (API level 24) my app is not allowed to mute phone (set ringer mode to silent)