繁体   English   中英

麦克风权限

[英]Microphone permission

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

那是麦克风许可的来源吗?

<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" />

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

还要将此添加到清单中:

<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);

}

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

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

这是你要做的:

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

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

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

欲了解更多信息:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM