Видео из Facebook не воспроизводятся в Android WebView

Я создал приложение для Android, в котором есть веб-просмотр, который загружает https://www.facebook.com. Но когда я запускаю это приложение на своем телефоне, видео в facebook не воспроизводятся должным образом. Воспроизводится только звук видео, но видео зависает. Я думаю, что некоторые свойства веб-просмотра настроены неправильно. Я выложил фрагмент кода. Что не так в коде?

public class FacebookFragment extends Fragment implements{

private FacebookVideoUrlManager facebookVideoUrlManager;
//webview 
private WebView facebookWebView;

//progress bar
private ProgressBar webProgressBar;

private String url = "https://facebook.com";

private Handler handler = new Handler(){
    @Override
    public void handleMessage(Message message) {
        switch (message.what) {
            case 1:{
                webViewGoBack();
            }break;
        }
    }
};

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_facebook, container, false);

    webProgressBar = (ProgressBar) view.findViewById(R.id.progressBar);
    facebookVideoUrlManager = new FacebookVideoUrlManager();

    facebookWebView = (WebView) view.findViewById(R.id.facebook_webview);
    WebSettings settings = facebookWebView.getSettings();
    settings.setJavaScriptEnabled(true);
    settings.setSupportZoom(false);
    facebookWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
    facebookWebView.getSettings().setBuiltInZoomControls(false);
    //facebookWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    //facebookWebView.loadUrl(url);

    facebookWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    });

    facebookWebView.setOnKeyListener(new View.OnKeyListener(){

        public boolean onKey(View v, int keyCode, KeyEvent event) {
            facebookVideoUrlManager.setUrl("");

            if (keyCode == KeyEvent.KEYCODE_BACK
                    && event.getAction() == MotionEvent.ACTION_UP
                    && facebookWebView.canGoBack()) {
                handler.sendEmptyMessage(1);

                return true;
            }
            else if (!facebookWebView.canGoBack() && keyCode == KeyEvent.KEYCODE_BACK){
                exitConfirmationDialog();
                return true;
            }
            return false;
        }

    });

    return view;
}

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {

}

private void showFacebookOnBrowser() {
    facebookWebView.getSettings().setJavaScriptEnabled(true);
    facebookWebView.getSettings().getLoadWithOverviewMode();
    facebookWebView.getSettings().getUseWideViewPort();
    facebookWebView.getSettings().getAllowContentAccess();
    facebookWebView.getSettings().getAllowFileAccessFromFileURLs();
    facebookWebView.getSettings().getAllowFileAccess();
    facebookWebView.getSettings().getAllowUniversalAccessFromFileURLs();
    facebookWebView.getSettings().getCacheMode();
    facebookWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
    facebookWebView.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url) {
            webProgressBar.setVisibility(View.INVISIBLE);
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon){
            webProgressBar.setVisibility(View.VISIBLE);
        }

        @Override
        public void onLoadResource(WebView view, String url) {


        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            return false;
        }
    });
    facebookWebView.loadUrl("https://www.facebook.com");


}

private void webViewGoBack(){
    facebookWebView.goBack();
}}

Почему в showFacebookOnBrowser так много неиспользуемых методов get?

Rohit5k2 26.03.2018 11:48

какие методы get нужно удалить, чтобы решить мою проблему?

Kisan Thapa 26.03.2018 11:52
1
2
354
0

Другие вопросы по теме