gpt4 book ai didi

android - 无法在Android中请求RECORD_AUDIO权限

转载 作者:行者123 更新时间:2023-12-01 09:44:54 26 4
gpt4 key购买 nike

我正在开发一个具有自己的录像机功能的Android应用程序。为此,我需要向用户请求RECORD_AUDIO权限。但是,当我请求许可时,它没有显示提示从用户那里获取许可。

这是我的功能,用于检查应用程序是否需要请求权限,并在需要时自动执行。

private boolean isRecordAudioPermissionGranted()
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) ==
PackageManager.PERMISSION_GRANTED) {
// put your code for Version>=Marshmallow
return true;
} else {
if (shouldShowRequestPermissionRationale(Manifest.permission.RECORD_AUDIO)) {
Toast.makeText(this,
"App required access to audio", Toast.LENGTH_SHORT).show();
}
requestPermissions(new String[]{Manifest.permission.RECORD_AUDIO
},AUDIO_RECORD_REQUEST_CODE);
return false;
}

} else {
// put your code for Version < Marshmallow
return true;
}
}

在Activity的onCreate中,我这样调用函数。
if(!isRecordAudioPermissionGranted())
{
Toast.makeText(getApplicationContext(), "Need to request permission", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(getApplicationContext(), "No need to request permission", Toast.LENGTH_SHORT).show();
}

该应用程序说它需要请求权限,但是它只是不提示请求权限对话框。我的代码有什么问题?

这是我在 list 文件中添加和使用的权限。
 <uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE"/>


<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.Manifest.permission.RECORD_AUDIO"/>

<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-feature android:name="android.hardware.camera.front"/>
<uses-feature android:name="android.hardware.camera.front.autofocus"/>

<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true"/>
<uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true"/>
<uses-feature android:name="android.software.vr.mode" android:required="true"/>
<uses-feature android:name="android.hardware.vr.high_performance" android:required="true"/>

最佳答案

对于RECORD_AUDIO permission,正确的权限字符串是

android.permission.RECORD_AUDIO

在 list 中,您正在使用
<uses-permission android:name="android.Manifest.permission.RECORD_AUDIO"/>
这是不正确的,它一定是
<uses-permission android:name="android.permission.RECORD_AUDIO"/>

关于android - 无法在Android中请求RECORD_AUDIO权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51304399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com