Приложение для веб-сайта с помощью webView, и оно отлично работает на моем SAMSUNG GALAXY A5, но на HUAWEI INE-LX1. Вместо webView появляется белый экран

Это моя основная деятельность xml. Я использую линейный макет. Внутри у меня есть веб-просмотр и относительный макет. Относительный макет рассчитан на автономное состояние. Который имеет текст и кнопку. при нажатии кнопки он отправит в веб-просмотр, если Интернет подключен.

activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimary"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </WebView>

    <RelativeLayout
        android:id="@+id/relative_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center">

        <Button
            android:id="@+id/btn_no_connection"
            android:layout_width="140dp"
            android:layout_height="65dp"
            android:background="@drawable/button_background"
            android:text="Retry"
            android:textColor="#ffffff"
            android:layout_centerHorizontal="true"
            android:textSize="22sp" />

        <TextView
            android:id="@+id/txt_no_connection"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="@color/colorAccent"
            android:layout_below="@+id/btn_no_connection"
            android:layout_marginTop="12dp"
            android:text="Make sure your internet is Active!"
            android:textAlignment="center"
            android:textSize="21sp" />

    </RelativeLayout>


</LinearLayout>

Это основной файл java, где веб-просмотр инициируется внутри метода Create. Все работает нормально. Когда я запускаю это на своем устройстве Samsung Galaxy, apk работает так, как я ожидал, но он не работает с устройством HUWAI INE-LX1. Просто показывает белую осыпь всякий раз, когда процесс достигает веб-просмотра. Есть ли какие-либо новые обновления в веб-просмотре для последних устройств Android или ОС. Может ли кто-нибудь предложить мне какое-либо решение.

MainActivity.java

    public class MainActivity extends AppCompatActivity {
    private WebView wbView;
    private String url = "https://google.com";
    RelativeLayout relativeLayout;
    Button noInternetConnection;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            Window window =getWindow();

            setContentView(R.layout.activity_main);

        wbView = (WebView)findViewById(R.id.webview);

        relativeLayout = (RelativeLayout)findViewById(R.id.relative_layout);
        noInternetConnection = (Button) findViewById(R.id.btn_no_connection);

        if(savedInstanceState != null){
            settings();
            wbView.restoreState(savedInstanceState);
        }
        else{
            settings();
            checkConnection();
        }

            wbView.setWebViewClient(new WebViewClient(){

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                view.loadUrl(url);
                return true;
            }

            @Override
            public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
                checkConnection();
                super.onReceivedError(view, request, error);
            }


        });


        noInternetConnection.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Toast.makeText(getApplicationContext(),"Connecting...",Toast.LENGTH_SHORT).show();
                checkConnection();
            }
        });


    }

    @Override
    public void onBackPressed() {
        if (wbView.canGoBack()) {
            wbView.goBack();
        } else {
            super.onBackPressed();
        }
    }

    public void checkConnection(){
        ConnectivityManager connectivityManager = (ConnectivityManager)
                this.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
        NetworkInfo mobileNetwork = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);


        if(wifi.isConnected()){
            wbView.loadUrl(url);
            wbView.setVisibility(View.VISIBLE);
            relativeLayout.setVisibility(View.GONE);
        }
        else if(mobileNetwork.isConnected()){
            wbView.loadUrl(url);
            wbView.setVisibility(View.VISIBLE);
            relativeLayout.setVisibility(View.GONE);
        }
        else{
            wbView.setVisibility(View.GONE);
            relativeLayout.setVisibility(View.VISIBLE);
        }
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        wbView.saveState(outState);
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        wbView.restoreState(savedInstanceState);
    }

    public void settings(){
        WebSettings webSettings = wbView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setLoadWithOverviewMode(true);
        webSettings.setUseWideViewPort(true);
        webSettings.setLoadsImagesAutomatically(true);
    }
}

разрешения

0 ответов

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