Ja (podobnie jak wiele innych) postępuję zgodnie z samouczkiem dotyczącym wyświetlania w Internecie, ale nie mogę załadować stron. Wszystko pojawia się jako "Strona niedostępna"WebView - strona internetowa niedostępna
Zapewniłem, że emulator ma dostęp do Internetu, i po prostu, aby wykluczyć problem z emulatorem, który próbowałem zainstalować na moim telefonie, co spowodowało to samo zachowanie.
Przeczytałem, że największym problemem są osoby, które nie wpisują w moim pliku manifestu uprawnień związanych z INTERNET
, które próbowałem umieścić jako dziecko różnych elementów w manifeście bez skutku. Czy ktoś wie, dlaczego nie mogę tego załadować?
Oto mój kod:
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;
}
}
}
Dzięki!
Tak, to było to. Jestem prawie pewny, że próbowałem go umieścić wszędzie ALE tam: p Dzięki! – Saggio
Dla innych, którzy mogą natknąć się na to: Miałem ten sam problem, ale było to na projekcie, który zbudowałem na jednej maszynie i przeniesiono na inny. Z jakiegoś powodu, mimo że skopiowałem plik AndroidManifest.xml i cały projekt działał dobrze, ale nigdy nie załadowałby treści WWW w widoku internetowym. Otrzymałem ten sam błąd, o którym mowa w pytaniu, chociaż moje use-perm było we właściwym miejscu i mimo, że wielokrotnie go przebudowałem i ponownie zainstalowałem. W końcu dokonałem zmiany w pliku xml, aby ponownie zapisać plik i ponownie go skompilować. Potem zadziałało. Dość irytujące. – raddevus