【问题标题】:cordova : android 23 need "MODIFY_AUDIO_SETTINGS" permission at runtime科尔多瓦:android 23 在运行时需要“MODIFY_AUDIO_SETTINGS”权限
【发布时间】:2016-11-04 21:08:52
【问题描述】:

我将 WebRTC 与 cordova 一起使用,我犯了一个巨大的错误,将 Play 商店中的 android 版本从 22 升级到 23。(显然没有办法恢复这种情况)

现在我必须在运行时请求权限。目前一切正常,但对于 WebRTC 通信,我的应用程序需要此特定权限“MODIFY_AUDIO_SETTINGS”。对于摄像头、麦克风和位置权限,我使用 cordova-diagnostic-plugin 使用这些方法:requestCameraAuthorizationrequestMicrophoneAuthorizationrequestLocationAuthorization

我尝试requestRuntimePermission 方法将此作为参数cordova.plugins.diagnostic.permission.MODIFY_AUDIO_SETTINGS,但由于cordova.plugins.diagnostic.permission 不包含“MODIFY_AUDIO_SETTINGS”权限,因此它不起作用。以下是可用权限列表:

我很确定问题是缺少“MODIFY_AUDIO_SETTINGS”权限,因为我在 android 22(无音频)上遇到了同样的问题,因为我没有将它包含在配置中。看到这个old SO post of mine

谢谢。

【问题讨论】:

    标签: android cordova cordova-plugins android-permissions


    【解决方案1】:

    MODIFY_AUDIO_SETTINGS 不是可以在 Android 上运行时请求的“危险”权限:see here 需要在运行时请求的“危险”权限的完整列表。

    【讨论】:

    • 所有权限都在config.xml中设置,以确保向后兼容之前的android版本。所以我仍然需要在运行时请求该权限。
    • So i still need to ask for that permission at runtime。不,你没有,你也不能——这不是运行时权限,所以只需要清单中的一个条目。您是否检查过来自 config.xml 的条目是否以 AndroidManifest.xml 结尾?直到最近 (cordova-cli@6.4.0),这还需要一个第三方插件,例如 cordova-custom-config
    • 对我来说,将 MODIFY_AUDIO_SETTINGS 权限添加到 config.xml 后应用程序崩溃。 标签内。
    猜你喜欢
    • 2016-04-12
    • 2014-10-05
    • 1970-01-01
    • 2019-02-04
    • 2019-03-25
    • 1970-01-01
    • 2019-03-27
    • 2019-06-03
    • 1970-01-01
    相关资源
    最近更新 更多