在Android 11+版本中,由于安全原因,应用程序无法直接访问麦克风,导致语音识别功能无法正常工作。在使用较新的设备和/或Android版本时,可能会使用以下代码示例来检查权限并启用语音识别。
1.在清单文件中添加以下权限:
2.在代码中使用以下代码检查和请求权限:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.RECORD_AUDIO}, 1); }
3.在启用语音识别之前,请确保请求权限被授予:
@Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case 1: { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // Permission granted, enable speech recognition } else { // Permission denied, disable speech recognition } return; } } }
请注意,即使您已授予适当的权限,某些设备仍可能无法执行语音识别,因此应谨慎处理异常情况。