【问题标题】:Android 8: Can't change ringer mode to non-silent when ringer mode is silentAndroid 8:当铃声模式静音时,无法将铃声模式更改为非静音
【发布时间】:2019-01-14 10:38:23
【问题描述】:

我编写了一个 Android 应用程序,如果 BroadcastReceiver 收到通知,它将铃声模式从任何模式更改为正常模式。

在 Android

它也适用于我的 Android 8 设备,如果 ringer mode != quiet 当广播接收器做出反应时。

  • 铃声模式!= 静音并将其更改为任何铃声模式
    • 适用于所有设备
  • 振铃模式 == 静音并将其更改为静音模式
    • 在所有设备上都能正常工作
  • 振铃模式 == 静音并将其更改为非静音模式
    • 仅适用于装有 Android

在 Android 8 上从静默更改为非静默时,我收到一个异常提示 Boradcast already finished?!

此行为仅适用于我的 Android 8 设备,旧设备可以正常工作。

有人可以帮助解决这种奇怪的行为吗?谢谢!

【问题讨论】:

    标签: android android-8.0-oreo android-broadcastreceiver


    【解决方案1】:

    我找到了问题的解决方案:它是由较新 Android 版本中的“请勿打扰”模式引起的。

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

    1. 为 AndroidManifest 添加权限:

      使用权限 android:name="android.permission.ACCESS_NOTIFICATION_POLICY"

    2. 通过以下意图请求用户允许离开此请勿打扰模式:

      意图意图 = 新意图(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)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 2021-11-15
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 2012-03-08
      • 2021-07-21
      相关资源
      最近更新 更多