在Android模拟器上,尝试加载webview我得到net :: err_cache_miss

时间:2014-12-29 21:35:42

标签: android webview

我尝试了Android开发者网站上显示的示例,以便在WebView组件上显示网页但没有成功。模拟器显示以下错误:

  

http://developer.android.com网页无法访问网页   无法加载,因为:net :: ERR_CHACHE_MISS

到目前为止,我找不到任何解决方案,即使在查看网络上的其他主题之后也是如此。我也试过不同的链接。 我不知道是否有助于理解此错误的原因,但模拟器是带有Android 5.0.1的Nexus 4 API 21。我正在使用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

6 个答案:

答案 0 :(得分:42)

确切地说,它曾经发生在我身上,解决方案是放下以下一行:<uses-permission android:name="android.permission.INTERNET"/>

在manifest.xml文件中的<application标记之前。

该行缺失或错位(例如</manifest>标记的末尾。

答案 1 :(得分:14)

如果其他人遇到这个问题而且因为这里没有答案,我想我会提供一个。

对我而言,结果只是标签在清单文件中的顺序。 user-permission元素需要出现在application元素之前。我只是把它直接放在顶部的清单元素下面,这似乎对我有用。

答案 2 :(得分:2)

我有同样的错误,我用
固定了      在活动内部,像这样:

<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 .... 我希望这会帮助别人。

答案 3 :(得分:2)

&lt; p&gt;实际上,标签的位置在这里很重要。 例如,这不起作用:&lt; / p&gt; &LT;预&GT;&LT;代码&GT; &lt; activity android:name =“。MainActivity”         android:label =“@ string / app_name”&gt;         &LT;意图滤光器&gt;             &lt; action android:name =“android.intent.action.MAIN”/&gt;             &lt; category android:name =“android.intent.category.LAUNCHER”/&gt;         &LT; /意图滤光器&gt;         &lt; uses-permission android:name =“android.permission.INTERNET”/&gt;     &LT; /活性GT; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;但是下面的代码完美无缺。&lt; / p&gt; &LT;预&GT;&LT;代码&GT; &lt; activity android:name =“。MainActivity”         android:label =“@ string / app_name”&gt;         &lt; uses-permission android:name =“android.permission.INTERNET”/&gt;         &LT;意图滤光器&gt;             &lt; action android:name =“android.intent.action.MAIN”/&gt;             &lt; category android:name =“android.intent.category.LAUNCHER”/&gt;         &LT; /意图滤光器&gt;     &LT; /活性GT; &LT; /代码&GT;&LT; /预&GT;

答案 4 :(得分:1)

只需在 AndroidManifest.xml

中加入这些权限即可
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

答案 5 :(得分:0)

请将以下内容粘贴到AndroidManifest.xml中的应用程序标记之外

my $newFileName = 'Gen_TCC_TIF_2110_413010_L3TL_Ae6TL707285_371925.out';
my $newFileName_2 = $filename =~ s/(.*)_(\d+)(?=\.out)/$2_$1/r;
# or, for older Perl, use this instead:
(my $newFileName_2 = $filename) =~ s/(.*)_(\d+)(?=\.out)/$2_$1/;
# or, to modify directly the variable $newFileName:
$newFileName =~ s/(.*)_(\d+)(?=\.out)/$2_$1/;