繁体   English   中英

如何在调用AudioManager.setMode(MODE_NORMAL)时使用Android 8.0和8.1.0特定的SecurityException修复Samsung?

[英]How to fix a Samsung with Android 8.0 and 8.1.0 specific SecurityException when calling AudioManager.setMode(MODE_NORMAL)?

我正在开发一个使用AudioManager来改变音频状态的应用程序。 当应用程序处于后台时,应用程序在将模式更改回正常时崩溃。

这是一个特定于设备的问题。 它仅适用于Android 8.0或Android 8.1.0的三星设备,而应用程序处于后台。

我已经尝试改变AudioManager的模式,而应用程序是背景蓝牙耳机使用特定的三星设备。 以三星Galaxy s8 +为例。 我无法重现这一点,但有很多Crashlytics报告崩溃。

这是导致崩溃的原因:

mAudioManager.setMode(AudioManager.MODE_NORMAL);

这就是崩溃:

Need BLUETOOTH permission: Neither user 10240 nor current process has android.permission.BLUETOOTH.
    android.os.Parcel.readException (Parcel.java:1967)
    android.os.Parcel.readException (Parcel.java:1913)
    android.media.IAudioService$Stub$Proxy.setMode (IAudioService.java:1683)
    android.media.AudioManager.setMode (AudioManager.java:2142)

这是一个运行时权限问题,每当你处理最新的Android版本总是提供运行时权限,因此解决这个问题只需在你的应用程序中提供运行时权限

在清单文件中添加蓝牙权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM