実験内容
WebViewでYoutubeを再生中にバックグラウンドにするとどうなるか?
手順
- アプリのWebViewでYoutubeを再生する
- 端末のホームボタンを押す(アプリがバックグラウンドになる)
- ブラウザのYoutubeが停止するか?
期待値は、バックグラウンドで動画の再生が止まり、音もならない
結果
OS4系のみバックグラウンドでも動画は止まらず、音声が流れ続けた。
しかも電源を押して端末をスリーブ(画面OFF)にしても音が流れ続けた!
機種は Galaxy S3α
OS5以上はバックグラウンドにすると勝手に再生が止まった。
対応策
WebViewを実装ときは webView.onResume()
と webView.onPause()
をちゃんと書こう!
こんな感じで
override fun onResume() {
super.onResume()
webView.onResume()
}
override fun onPause() {
super.onPause()
webView.onPause()
}
これを実装してOS4系で、Youtubeを再生してバックグラウンドにすると動画再生が止まり、音がならなくなった!
onResume/onPauseを実装しないとどうなるか?
Googleから「Youtbeの規約を守らなかった」とみなされ、Playストアからアプリが削除される。
WebViewで動画を表示するさいは気をつけましょう!
実験に使用したコード