我需要在 Android M 上使用麦克风。我尝试在 list 中设置权限组,但无法正常工作。这是 list 中的内容:
<permission-group android:name="android.permission-group.MICROPHONE"
android:label="label"
android:icon="@mipmap/day_icon"
android:priority="360"/>
<permission android:name="android.permission.MICROPHONE"
android:permissionGroup="android.permission-group.MICROPHONE"
android:protectionLevel="dangerous"
android:label="label" />
我也试过通过代码获取访问权限:
if (ContextCompat.checkSelfPermission(getActivity(),
Manifest.permission_group.MICROPHONE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(getActivity(),
new String[]{Manifest.permission_group.MICROPHONE},
REQUEST_MICROPHONE);
}
不显示授予访问权限的警报。
我仍然无法使用麦克风。有人知道如何获得麦克风的许可吗?
注意:这仅不适用于 Android M
最佳答案
要请求麦克风,您应该请求 Manifest.permission.RECORD_AUDIO
而不是权限组 Manifest.permission_group.MICROPHONE
.
因此,删除标签 <permission/>
和 <permission-group/>
在 list 中,因为它们表明您想要创建新权限而不是使用它们。
然后请求权限就这样做:
if (ContextCompat.checkSelfPermission(getActivity(),
Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(getActivity(),
new String[]{Manifest.permission.RECORD_AUDIO},
REQUEST_MICROPHONE);
}
关于android - 在 Android M 上请求麦克风权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36270253/