Почему мое приложение для веб-просмотра android Studio становится белым после экрана spla sh в подписанном выпуске и работает с идеальной отладкой идентификатора? - PullRequest
1 голос
/ 16 апреля 2020

Некоторым образом это работает на старых устройствах, но я попробовал на 2 новых устройствах, приложение выпуска не работает, оно показывает белый пустой экран после spla sh screen

И при этом не отображается ошибка, пожалуйста, ответьте мне

основная деятельность

    private WebView mywebview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mywebview = (WebView) findViewById(R.id.webview);
        WebSettings webSettings = mywebview.getSettings();

        mywebview.setWebViewClient(new WebViewClient());

        mywebview.loadUrl("https://netixshop.com/");
        webSettings.setJavaScriptEnabled(true);
        webSettings.setDomStorageEnabled(true);
    }




    public class myWebClient extends WebViewClient {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
        }

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

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

        }
    }

вот мой манифест Прошу проверить это и выяснить причину ошибки

android манифест


    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>


    <application
        android:usesCleartextTraffic="true"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning">
        <activity android:name=".MainActivity"></activity>
        <activity android:name=".splashactivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>```




1 Ответ

0 голосов
/ 16 апреля 2020

Возможно, вы не добавили разрешение inte rnet в файл манифеста, пока оно добавлено в файл отладки манифеста по умолчанию. Поэтому вам нужно добавить разрешение inte rnet;

<uses-permission android:name="android.permission.INTERNET" /> 

, и если вы работаете с android 8 или выше, возможно, вам потребуется добавить эту строку в тег application для доступа к не -https веб-URL;

android:usesCleartextTraffic="true"

наконец это будет выглядеть так:

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...