webView не загружает видео, но загружает сайт - PullRequest
0 голосов
/ 11 апреля 2020

Веб-просмотр, который я реализовал, успешно загружает веб-страницу с видео и успешно воспроизводит видео, однако, если я передаю URL, который состоит только из видео с той же веб-страницы, то веб-просмотр ничего не загружает, и действие становится пустым / белый. (URL-адрес видео успешно загружается в браузере) (также пробовал аппаратное ускорение в теге приложения AndroidManifest).

URL-адрес веб-страницы: https://kayifamily.com/payitaht-abdulhamid-episode-1/ URL-адрес видео со страницы: https://ok.ru/videoembed/1065210874429

public class abdulhamidEng extends AppCompatActivity {

private View mCustomView;
private RelativeLayout mContentView;
private FrameLayout mCustomViewContainer;
private WebChromeClient.CustomViewCallback mCustomViewCallback;
Button refreshButton;
private WebView myWebView;

@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.webviewcontent);

    refreshButton = findViewById(R.id.refreshButton);
    refreshButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            myWebView.reload();
        }
    });

    Objects.requireNonNull(this.getSupportActionBar()).hide();

    myWebView = findViewById(R.id.webView);
    MyWebChromeClient mWebChromeClient = new MyWebChromeClient();
    myWebView.setWebChromeClient(mWebChromeClient);
    myWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
    myWebView.setWebViewClient(new WebViewClient(){
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return false;
        }
    });
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);

    String url = "https://kayifamily.com/payitaht-abdulhamid-episode-1/";
    myWebView.loadUrl(url);

    myWebView.setWebViewClient(new WebViewClient(){

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url){//condition or the code
            view.loadUrl(url);
            return false;
        }
    });

}

public class MyWebChromeClient extends WebChromeClient {

    FrameLayout.LayoutParams LayoutParameters = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);

    @Override
    public void onShowCustomView(View view, CustomViewCallback callback) {
        // if a view already exists then immediately terminate the new one
        if (mCustomView != null) {
            callback.onCustomViewHidden();
            return;
        }
        mContentView = findViewById(R.id.activity_webView);
        mContentView.setVisibility(View.GONE);
        mCustomViewContainer = new FrameLayout(abdulhamidEng.this);
        mCustomViewContainer.setLayoutParams(LayoutParameters);
        mCustomViewContainer.setBackgroundResource(android.R.color.black);
        view.setLayoutParams(LayoutParameters);
        mCustomViewContainer.addView(view);
        mCustomView = view;
        mCustomViewCallback = callback;
        mCustomViewContainer.setVisibility(View.VISIBLE);
        setContentView(mCustomViewContainer);
    }

    @Override
    public void onHideCustomView() {
        if (mCustomView == null) {
            Toast.makeText(getApplicationContext(), "Custom View is Null", Toast.LENGTH_SHORT).show();
        } else {
            // Hide the custom view.
            mCustomView.setVisibility(View.GONE);
            // Remove the custom view from its container.
            mCustomViewContainer.removeView(mCustomView);
            mCustomView = null;
            mCustomViewContainer.setVisibility(View.GONE);
            mCustomViewCallback.onCustomViewHidden();
            // Show the content view.
            mContentView.setVisibility(View.VISIBLE);
            setContentView(mContentView);
        }
    }
}
@Override
public void onBackPressed() {
    if (myWebView.canGoBack()) {
        myWebView.goBack();
    } else {
        super.onBackPressed();
    }

}

}

Logcat:

04-11 21:25:01.662 31194-31194/? E/Zygote: accessInfo : 0
04-11 21:25:05.872 31194-31194/com.mappsbyjk.turkishseries E/MotionRecognitionManager:mSContextService = null
04-11 21:25:05.872 31194-31194/com.mappsbyjk.turkishseries E/MotionRecognitionManager: motionService = com.samsung.android.motion.IMotionRecognitionService$Stub$Proxy@76d74f4
04-11 21:25:09.242 31194-31636/com.mappsbyjk.turkishseries E/libEGL: validate_display:255 error 3008 (EGL_BAD_DISPLAY)

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...