2014-12-29 17 views
21

Tôi đã thử ví dụ được hiển thị trên trang web dành cho nhà phát triển Android để hiển thị trang web trên thành phần WebView mà không thành công. Trình mô phỏng hiển thị lỗi sau:Trên trình giả lập Android, cố gắng tải một chế độ xem web tôi nhận được mạng :: err_cache_miss

Webpage not available the webpage at http://developer.android.com could not be loaded because: net::ERR_CHACHE_MISS

Tôi không thể tìm thấy giải pháp nào cho đến nay, ngay cả sau khi xem các chủ đề khác trên web. Tôi cũng đã thử các liên kết khác nhau. Tôi không biết liệu có thể hữu ích trong việc hiểu nguyên nhân của lỗi này hay không, nhưng trình mô phỏng là Nexus 4 API 21 với Android 5.0.1. Tôi đang sử dụng Android Studio 1.0.

Mã này là như nhau trong những ví dụ:

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/"); 
} 

Trong 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" /> 
..... 

Và theo quan điểm tôi đã thêm cùng mã của ví dụ

Ví dụ là trên : http://developer.android.com/guide/webapps/webview.html

Trả lời

13

Trong ca bất cứ ai khác gặp phải vấn đề này và vì không có câu trả lời ở đây, tôi nghĩ tôi sẽ cung cấp một câu hỏi.

Đối với tôi, hóa ra đơn giản là thứ tự các thẻ nằm trong tệp kê khai. Thành phần cho phép người dùng cần xuất hiện trước phần tử ứng dụng. Tôi chỉ cần đặt nó trực tiếp dưới phần tử biểu hiện ở trên cùng và dường như làm điều đó cho tôi.

+0

chúng ta phải xây dựng bức tượng you'r ở trung tâm thủ đô của chúng tôi!tôi đã gần như thử nghiệm hàng trăm giải pháp nhưng không có chủ đề nào được làm việc.yaaay! –

38

Chính xác, Nó đã xảy ra với tôi một lần và các giải pháp đã đưa dòng sau: <uses-permission android:name="android.permission.INTERNET"/>

trước <application thẻ trong file manifest.xml. ..

Hoặc dòng đó bị thiếu hoặc nó bị thất lạc (ví dụ ở phần cuối của thẻ </manifest>

+0

Tôi đã thử giải pháp này để thêm quyền và nó hoạt động. Cảm ơn bạn @samuele – silvanasono

+0

Tôi rất vui vì nó đã hoạt động! –

+1

Quyền của người dùng đã có, nhưng ở sai vị trí, bên trong thẻ hoạt động. Tôi cho rằng đó là lý do tại sao nó không hoạt động. – silvanasono

2

tôi đã có lỗi tương tự và tôi cố định với
bên trong hoạt động này, như thế này:

Bởi vì tôi xây dựng bên trong hoạt động chính WebView .... tôi hy vọng điều này sẽ giúp người khác.

1

Chỉ cần bao gồm các Quyền trong AndroidManifest.xml của bạn

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

Một chút nữa trong cách giải thích sẽ hữu ích. –

+0

@SteveHeim: Bạn đang chạy ứng dụng của mình trên Trình giả lập hoặc trên Thiết bị thực? – Mediasoft

+0

nó không phải dành cho tôi, tôi vừa xem lại câu trả lời lần đầu:). Xem [tại đây] (http://stackoverflow.com/help/how-to-answer). –

2

Trên thực tế, vị trí của thẻ quan trọng ở đây. Ví dụ: tính năng này không hoạt động:

<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> 

Nhưng mã bên dưới hoạt động hoàn hảo.

<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> 
0

Hãy dán sau bên ngoài thẻ ứng dụng trong 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"/> 
Các vấn đề liên quan