在Android M上请求麦克风的权限

时间:2016-03-28 20:07:08

标签: android android-permissions

我需要在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

1 个答案:

答案 0 :(得分:15)

要请求麦克风,您应该请求Manifest.permission.RECORD_AUDIO而不是权限组Manifest.permission_group.MICROPHONE

因此,请删除Manifest中的代码<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);

}
相关问题