在 Android M 上请求麦克风许可
Request permission for microphone on Android M
我需要使用带有 Android M 的麦克风。我尝试在清单中设置权限组,但无法正常工作。这是清单中的内容:
<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/>
,因为它们表明您想要 创建 新权限而不是 使用它们。
然后请求权限只需这样做:
if (ContextCompat.checkSelfPermission(getActivity(),
Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(getActivity(),
new String[]{Manifest.permission.RECORD_AUDIO},
REQUEST_MICROPHONE);
}
我需要使用带有 Android M 的麦克风。我尝试在清单中设置权限组,但无法正常工作。这是清单中的内容:
<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/>
,因为它们表明您想要 创建 新权限而不是 使用它们。
然后请求权限只需这样做:
if (ContextCompat.checkSelfPermission(getActivity(),
Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(getActivity(),
new String[]{Manifest.permission.RECORD_AUDIO},
REQUEST_MICROPHONE);
}