Подтвердить что ты не робот

На эмуляторе Android, пытаясь загрузить webview, я получаю net:: err_cache_miss

Я попробовал пример, показанный на веб-сайте разработчиков Android, чтобы показать веб-страницу в компоненте WebView без успеха. Эмулятор показывает следующую ошибку:

Веб-страница недоступна на веб-странице http://developer.android.comне может быть загружен, потому что: net:: ERR_CHACHE_MISS

Я пока не нашел решения, даже посмотрев другие темы в Интернете. Я также пробовал разные ссылки. Я не знаю, может ли быть полезным в понимании причины этой ошибки, но эмулятор Nexus 4 API 21 с Android 5.0.1. Я использую Android Studio 1.0.

Код тот же пример:

In MainActivity.java:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);            
    setContentView(R.layout.activity_main);

    WebView myWebView = (WebView) findViewById(R.id.webview);
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);           
    myWebView.loadUrl("http://developer.android.com/");
}

В AndroidManifest:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <uses-permission android:name="android.permission.INTERNET" />
.....

И в представлении я добавил тот же код примера

Пример: http://developer.android.com/guide/webapps/webview.html

4b9b3361

Ответ 1

Именно, это произошло со мной один раз, и решение должно было поставить следующую строку: <uses-permission android:name="android.permission.INTERNET"/>

перед тегом <application в файле manifest.xml.

Либо эта строка отсутствует, либо она неуместна (например, в конце тега </manifest>.

Ответ 2

Если кто-то еще сталкивается с этой проблемой, и, поскольку ответа нет, я подумал, что я его предоставил.

Для меня это оказался просто порядок, в котором теги находились в файле манифеста. Элемент пользовательского разрешения должен появиться перед элементом приложения. Я просто положил его прямо под элемент манифеста наверху, и это, казалось, сделало трюк для меня.

Ответ 3

У меня была такая же ошибка, и я исправил с помощью    внутри действия, например:

<activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <uses-permission android:name="android.permission.INTERNET" />
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
</activity>

Потому что я строю внутри основной деятельности webView.... Надеюсь, это поможет кому-то другому.

Ответ 4

Собственно, место бирки имеет значение. Например, это не работает:

    <activity android:name=".MainActivity"
        android:label="@string/app_name" >

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <uses-permission android:name="android.permission.INTERNET" />
    </activity>

Но ниже код работает отлично.

    <activity android:name=".MainActivity"
        android:label="@string/app_name" >
        <uses-permission android:name="android.permission.INTERNET" />
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

Ответ 5

Просто включите эти разрешения в свой AndroidManifest.xml

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

Ответ 6

Вставьте следующее вне тега приложения в AndroidManifest.xml

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