You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android端通过react-native-webview实现嵌入视频默认全屏播放?

解决React Native WebView Android端Youtube/Vimeo视频默认全屏播放问题

针对Youtube的处理

  • 放弃直接在视频链接加fs=1的方式,改用Youtube Embed链接配合JS注入实现强制全屏:
    1. 使用Embed格式URL:https://www.youtube.com/embed/[视频ID]?rel=0&autoplay=0
    2. 在WebView的injectJavaScript属性中注入监听播放触发的脚本:
      document.addEventListener('click', function(e) {
        const video = document.querySelector('video');
        if ((e.target.tagName === 'VIDEO' || e.target.closest('.html5-video-player')) && video && !video.webkitDisplayingFullscreen) {
          video.webkitEnterFullscreen();
        }
      });
      
    3. 配置WebView的核心参数:
      <WebView
        source={{ uri: 你的Youtube Embed链接 }}
        allowsFullscreenVideo={true}
        androidHardwareAccelerationDisabled={false}
        injectedJavaScript={上述JS代码}
        javaScriptEnabled={true}
      />
      

针对Vimeo的处理

  • Vimeo的fullscreen=1参数在Android WebView中受限,同样通过JS注入实现:
    1. 使用Vimeo Embed链接:https://player.vimeo.com/video/[视频ID]?fullscreen=1
    2. 注入监听播放事件的脚本:
      document.addEventListener('play', function(e) {
        if (e.target.tagName === 'VIDEO') {
          e.target.requestFullscreen().catch(err => {
            console.log('全屏触发失败:', err);
          });
        }
      }, true);
      
    3. 确保WebView开启allowsFullscreenVideo={true}和javaScriptEnabled={true}

Android原生配置补充

  • 检查AndroidManifest.xml中对应Activity的配置,添加必要属性:
    <activity
      android:name=".MainActivity"
      android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
      android:launchMode="singleTask"
      android:windowSoftInputMode="adjustResize">
      <meta-data
        android:name="android.app.lib_name"
        android:value="app" />
    </activity>
    
    若需要沉浸式全屏,可在Activity主题中添加android:windowFullscreen=true

注意事项

  • 确保Android设备系统版本在4.4及以上,低版本对全屏API支持有限
  • 部分受版权限制的视频可能禁用全屏功能,此情况无法通过代码解决

内容的提问来源于stack exchange,提问作者Amal Mohan N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 15:50:20