Search code examples
androidwebviewmediaandroid-5.0-lollipop

WebView media content stops when the screen is locked ( activity's onStop is called)


I have an App that plays a video inside a WebView on my MainActivity. The problem I am having is that the video is pausing whenever I lock the screen (Activity's onStop is called, that is when the video in the WebView is paused).

But this behavior only occurs on Apis >= Lollipop(5.0).

I searched everywhere for a solution, but I could not find anything. I just want the video to keep playing even when the user is on LockScreen.


Solution

  • If your WebView is pausing because of the onStop, you can override onWindowVisibilityChanged from WebView:

    public class MyWebView extends WebView {
    
        public MyWebView(Context context) {
            super(context);
        }
    
        public MyWebView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        public MyWebView(Context context, AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
        }
    
        @Override
        protected void onWindowVisibilityChanged(int visibility) {
            if (visibility != View.GONE) super.onWindowVisibilityChanged(visibility);
        }
    }