1,退出当关webview 播放不停止
处理:要在当前activity的 onDestroy()生命周期方法中加载一空页面 mWebview.loadUrl("about:blank");
2. 按home键和锁屏键 播放不停止
首先,home键和锁屏是系统放出的广播 需要你去接收这条广播 , home键和锁屏键都会走onPause() 这个生命周期方法 ,再接收到广播后,需要你重新加载你当前页面即可,如果有上述1中的方法加载一个空页面,当你再点亮屏幕或唤起app时,你的h5页面就会是空的
@Override protected 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)) { //屏幕黑了 //这里也要重新加载当前页面 } } };