android - 如何防止 React Native Android Webview 在后台运行 Youtube?

标签 android webview react-native

我的应用在 Play 商店中被拒绝,原因是“确保它不会启用 YouTube 视频的后台播放”。我使用了基本的 Webview 组件并加载了一个 youtube 页面。播放完 youtube 电影并返回主页后,youtube 电影继续在后台播放。

当应用程序暂停时,我如何获得暂停 Webview 的句柄?

最佳答案

您可以使用来自 react-native 的 AppState:documentation .

并且仅当应用状态为“ Activity ”时显示 WebView (其中包含您的 YouTube 嵌入内容)

import React, {Component} from 'react'
import {AppState, WebView} from 'react-native'

class AppStateExample extends Component {

  state = {
      appState: AppState.currentState
  }

  componentDidMount() {
      AppState.addEventListener('change', this._handleAppStateChange);
  }

  componentWillUnmount() {
      AppState.removeEventListener('change', this._handleAppStateChange);
  }

  _handleAppStateChange = (nextAppState) => {        
      this.setState({appState: nextAppState});
  }

  render() {

    return (

      {this.state.appState == 'active' &&
           <WebView />
      }

    )

  }

}

如果您正在使用 Expo,这很好,无需接触任何 native 代码。

关于android - 如何防止 React Native Android Webview 在后台运行 Youtube?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36382935/

相关文章:

java - 当我按下按钮返回 android 键盘时,WebView 正在关闭

android - 将单个 React Native View 添加到现有 Android 应用程序的正确方法是什么?

javascript - 在 react-native 中按下 enter 时如何防止换行

android - 在 Android Studio 中提交到 SVN 时要忽略哪些文件

Android studio gradle重复文件 Dagger 编译器

android - 如何获取在android主屏幕启动器中找到的所有已安装快捷方式的列表

ios - 播放视频时未调用 UITableView didEndDisplaying

ios - 在 iOS 上以编程方式添加 UIBarButtonItem 操作

react-native - 尝试重置导航会引发错误

java - 如何从 Firestore Android 查询最近 7 天的数据