6
我(跟很多其他人一樣)遵循webview教程,但我無法加載頁面。一切都以「網頁不可用」的形式出現WebView - 網頁不可用
我確保模擬器確實能夠訪問互聯網,只是爲了排除模擬器的問題,我試圖在手機上安裝它,導致了相同的行爲。
我讀過最大的問題是人們沒有把INTERNET
權限放在我的清單文件中,我曾嘗試將清單中不同元素的子元素放在一起無濟於事。有誰知道我爲什麼不能加載它?
這裏是我的代碼:
Manifest:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".AndroidTestActivity"
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>
</application>
</manifest>
AndroidTestActivity
public class AndroidTestActivity extends Activity {
WebView webview;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.google.com/m");
Intent intent = getIntent();
// To get the action of the intent use
System.out.println(intent.getAction());
// We current open a hard-coded URL
try {
webview.setWebViewClient(new AndroidTestClient());
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private class AndroidTestClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
謝謝!
是的,就是這樣。我很確定我試圖把它放到任何地方但是在那裏:p謝謝! – Saggio
對於其他可能偶然發現的問題:我遇到了同樣的問題,但是這是我在一臺機器上建立並轉移到另一臺機器上的項目。出於某種原因,即使我複製了AndroidManifest.xml並且整個項目運行良好,但它不會在Web視圖中加載Web內容。我收到了問題中提到的同樣的錯誤,儘管我的使用權在正確的地方,即使我重建並重新安裝了他的應用程序無數次。最後,我對xml進行了更改,以便我可以重新保存該文件並重新構建。然後它工作。非常煩人。 – raddevus