如何在 webview 中启用受保护的内容?

Par*_*tra 5 android webview

在 chrome 浏览器中,有一个选项可以播放受保护的内容。如何在android 的webview中启用相同的功能

我试过一种方法叫 allowContentAccess()但它不起作用。

请帮忙

Via*_*ukh 7

要允许 Web 视图播放 DRM 内容,您必须向 Web 视图授予 RESOURCE_PROTECTED_MEDIA_ID 权限。

您可以通过覆盖 WebChromeClient#onPermissionRequest 来完成此操作

作为样本:

    @Override
    public void onPermissionRequest(PermissionRequest request) {
        String[] resources = request.getResources();
        for (int i = 0; i < resources.length; i++) {
            if (PermissionRequest.RESOURCE_PROTECTED_MEDIA_ID.equals(resources[i])) {
                request.grant(resources);
                return;
            }
        }

        super.onPermissionRequest(request);
    }
Run Code Online (Sandbox Code Playgroud)


Jak*_*eam 0

setAllowContentAccess()(我找不到allowContentAccess()您提到的)用于访问设备上的本地内容文件,而不是受保护的内容。

不幸的是,受保护的内容查看启用通常由用户控制,而不是由开发人员控制。例如,对于默认浏览器 Chrome,根据此帮助文章

Chrome 默认会播放受保护的内容。

如果您不希望 Chrome 默认播放受保护的内容,您可以更改设置:

  1. 在 Android 手机或平板电脑上,打开 Chrome 应用程序 Chrome。
  2. 在地址栏右侧,点击“更多”,然后点击“设置”。
  3. 点击站点设置,然后点击媒体,然后点击受保护的内容。
  4. 选择先询问。

由于访问受保护的内容需要网站查看有关您设备的信息,因此我预计这无法通过WebView.

有一个完整的内置框架(自 API 级别 11 起)可用于管理应该使用的 DRM 内容。