这个问题可能是因为您的应用程序在运行时没有被授予必要的权限。您可以通过检查您的应用程序是否已经声明了必要的权限来解决这个问题,也可以在代码中动态请求必要的权限。以下是一个请求必要权限的代码示例:
// 确定您要请求的权限 String[] permissions = {Manifest.permission.RECORD_AUDIO, Manifest.permission.CAMERA};
// 如果设备运行的是 API Level 23 或更高版本,您需要在运行时请求权限 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // 检查有没有被授予这些权限 if (checkSelfPermission(Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED || checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
// 请求这些权限
requestPermissions(permissions, 0);
}
}
// 实现 onRequestPermissionsResult() 方法以检查权限请求的结果 @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { // 如果请求的权限被授予,开始处理您的通话逻辑 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) { // 开始通话 } else { // 如果请求的权限被拒绝,显示一个错误消息并退出应用程序 Toast.makeText(this, "Permission request denied", Toast.LENGTH_SHORT).show(); finish(); } }