麦克风许可

dei*_*988 16 permissions android android-permissions

安装我编程的应用程序时,需要"使用麦克风"权限.但是我没有在清单中明确要求它,我拥有的是相机许可.

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

Nit*_*lal 23

<uses-permission android:name="android.permission.RECORD_AUDIO" />
Run Code Online (Sandbox Code Playgroud)

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

...
    </application>


    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
</manifest>
Run Code Online (Sandbox Code Playgroud)

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

GrI*_*sHu 9

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

 <uses-permission android:name="android.permission.RECORD_AUDIO" />
Run Code Online (Sandbox Code Playgroud)


Moh*_*deh 7

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

还要将此添加到清单中:

<uses-permission android:name="android.permission.RECORD_AUDIO" />
Run Code Online (Sandbox Code Playgroud)


小智 7

在你的清单中使用这个

 <uses-permission android:name="android.permission.RECORD_AUDIO" />
Run Code Online (Sandbox Code Playgroud)

然后请求权限这样做:

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

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

}
Run Code Online (Sandbox Code Playgroud)