WebView加载h5页面播放音乐或视频 返回,按锁屏键,按home键 播放不停止问题
来源:互联网 发布:apache tomcat怎么用 编辑:程序博客网 时间:2024/06/03 21:10
1,退出当关webview 播放不停止
处理:要在当前activity的 onDestroy()生命周期方法中加载一空页面 mWebview.loadUrl("about:blank");
2. 按home键和锁屏键 播放不停止
首先,home键和锁屏是系统放出的广播 需要你去接收这条广播 , home键和锁屏键都会走onPause() 这个生命周期方法 ,再接收到广播后,需要你重新加载你当前页面即可,如果有上述1中的方法加载一个空页面,当你再点亮屏幕或唤起app时,你的h5页面就会是空的
@Overrideprotected void onPause() { super.onPause(); IntentFilter filter = new IntentFilter(); //锁屏广播,由系统发出 filter.addAction(Intent.ACTION_SCREEN_ON); //锁屏广播,由系统发出 filter.addAction(Intent.ACTION_SCREEN_OFF); //点击home键广播,由系统发出 filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); registerReceiver(homeAndLockReceiver, filter);}
private BroadcastReceiver homeAndLockReceiver = new BroadcastReceiver() { String SYSTEM_REASON = "reason"; String SYSTEM_HOME_KEY = "homekey"; @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { String reason = intent.getStringExtra(SYSTEM_REASON); if (TextUtils.equals(reason, SYSTEM_HOME_KEY)) { //表示按了home键,程序到了后台 //这里重新加当前页面 } } else if (action.equals(Intent.ACTION_SCREEN_ON)) { //屏幕亮了 } else if (action.equals(Intent.ACTION_SCREEN_OFF)) { //屏幕黑了 //这里也要重新加载当前页面 } }};
阅读全文