【问题标题】:Microphone permission麦克风权限
【发布时间】:2014-07-18 05:31:39
【问题描述】:

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

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

【问题讨论】:

  • 你能分享你的代码和错误吗?
  • 您是否在应用中使用过任何类型的录音功能?
  • 您的应用在安装时是否崩溃?如果是这样,我们可以看看你的日志猫吗?
  • @PankajKumar 我没有错误,我只是想知道为什么我的应用程序请求使用麦克风的权限:)
  • @GrIsHu 我唯一能想到的就是相机

标签: android permissions android-permissions


【解决方案1】:
<uses-permission android:name="android.permission.RECORD_AUDIO" />

应用程序块外居然解决了!

...
    </application>


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

【讨论】:

  • 问题是如果没有明确请求(并且需要),为什么权限会显示在应用程序权限中。我有同样的问题,不需要或曾经在清单中设置麦克风权限,但我的应用设置显示为我的应用需要麦克风权限。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    在你的清单中使用这个

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

    【讨论】:

    • Java代码是放在哪个文件里的?
    【解决方案4】:

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

    也将其添加到清单中:

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

    【讨论】:

      【解决方案5】:

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

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

      这是你要做的:

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

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

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

      更多信息:

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

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

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

      【讨论】:

      • 不是这样的。在过去的几年里,android 的权限发生了巨大的变化。过去比现在简单得多,这就是为什么旧答案现在看起来很愚蠢的原因。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-04
      • 2021-12-04
      • 2021-01-26
      • 1970-01-01
      • 2022-12-04
      • 1970-01-01
      • 2022-01-10
      相关资源
      最近更新 更多