麦克风权限

问题描述 投票:0回答:6

安装我编写的应用程序时,需要“使用麦克风”权限。然而,我并没有在清单中特别要求它,我拥有的是相机权限。

这就是麦克风权限的来源吗?

android permissions android-permissions
6个回答
48
投票
<uses-permission android:name="android.permission.RECORD_AUDIO" />

在应用程序块之外实际上解决了它!

...
    </application>


    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
</manifest>

12
投票

如果您在应用程序中使用任何类型的录音功能,那么您应该在清单文件中提供

RECORD_AUDIO
权限,如下所示:

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

12
投票

在你的清单中使用这个

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

然后要请求许可,请执行以下操作:

if (ContextCompat.checkSelfPermission(getActivity(),
    Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {

ActivityCompat.requestPermissions(getActivity(),
        new String[]{Manifest.permission.RECORD_AUDIO},
        REQUEST_MICROPHONE);

}

9
投票

从 Android 6.0 Marshmallow 开始,应用程序在安装时不会被授予任何权限。相反,应用程序必须在运行时逐一请求用户许可。 请注意,上面显示的权限请求对话框不会自动启动。开发人员必须手动调用它。 如果开发人员尝试调用某个需要用户尚未授予权限的函数,该函数将突然抛出异常,从而导致应用程序崩溃。

还将其添加到清单中:

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

0
投票

我不敢相信每个人都误解了你的问题。他们都只是盲目地跳上了运行时权限列车,希望能提供任何答案。

麦克风权限可以来自第三方库。不必在清单中定义。

这就是你要做的:

选项 1: 检查所有模块中的“合并清单”。这将聚合应用程序中使用的所有库中的所有清单和权限。

选项2:以上内容不可搜索。这样做可以快速搜索合并清单中麻烦的权限:

  1. 更改为 Android studio 中的“项目文件”视图
  2. 转到“构建”->“输出”->“日志”
  3. 打开“manifest-merger-report”文件,你就可以快速搜索到麻烦的权限。您将看到哪个库使用它。

了解更多信息:

https://stackoverflow.com/questions/35627210...

https://stackoverflow.com/questions/30546197...

这是一个老问题,但我在 2021 年底苦苦挣扎,只发现了三个堆栈溢出问题。


0
投票

您需要使用2个权限来进行音频操作,请将其放在AndroidManifest.xml中应用程序标签之外。

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
© www.soinside.com 2019 - 2024. All rights reserved.