安装我编写的应用程序时,需要“使用麦克风”权限。然而,我并没有在清单中特别要求它,我拥有的是相机权限。
这就是麦克风权限的来源吗?
<uses-permission android:name="android.permission.RECORD_AUDIO" />
在应用程序块之外实际上解决了它!
...
</application>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
</manifest>
如果您在应用程序中使用任何类型的录音功能,那么您应该在清单文件中提供
RECORD_AUDIO
权限,如下所示:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
在你的清单中使用这个
<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);
}
从 Android 6.0 Marshmallow 开始,应用程序在安装时不会被授予任何权限。相反,应用程序必须在运行时逐一请求用户许可。 请注意,上面显示的权限请求对话框不会自动启动。开发人员必须手动调用它。 如果开发人员尝试调用某个需要用户尚未授予权限的函数,该函数将突然抛出异常,从而导致应用程序崩溃。
还将其添加到清单中:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
我不敢相信每个人都误解了你的问题。他们都只是盲目地跳上了运行时权限列车,希望能提供任何答案。
麦克风权限可以来自第三方库。不必在清单中定义。
这就是你要做的:
选项 1: 检查所有模块中的“合并清单”。这将聚合应用程序中使用的所有库中的所有清单和权限。
选项2:以上内容不可搜索。这样做可以快速搜索合并清单中麻烦的权限:
了解更多信息:
https://stackoverflow.com/questions/35627210...
https://stackoverflow.com/questions/30546197...
这是一个老问题,但我在 2021 年底苦苦挣扎,只发现了三个堆栈溢出问题。
您需要使用2个权限来进行音频操作,请将其放在AndroidManifest.xml中应用程序标签之外。
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />