【发布时间】:2017-01-02 06:00:18
【问题描述】:
我有一个应用程序,它通过使用 AudioManager 并使用以下代码将振铃模式设置为静音来使手机静音:
AudioManager audioManager =
(AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
try {
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT)
} catch (Exception e) {
e.printStackTrace();
}
这适用于 Android 6,但现在使用 Android 7,我收到以下错误:
System.err: java.lang.SecurityException: Not allowed to change Do Not Disturb state
System.err: at android.os.Parcel.readException(Parcel.java:1683)
System.err: at android.os.Parcel.readException(Parcel.java:1636)
System.err: at android.media.IAudioService$Stub$Proxy.setRingerModeExternal(IAudioService.java:962)
System.err: at android.media.AudioManager.setRingerMode(AudioManager.java:1022)
System.err: at controllers.SearchResultController.mutePhone(SearchResultController.java:185)
我需要申请什么新权限才能完成这项工作吗?
我查看了 Android 权限列表,但找不到任何相关的内容。
【问题讨论】:
标签: android android-audiomanager android-7.0-nougat