Używam webVIew czytam lokalny HTML. Miejsce przechowywania HTML Projekt dla zasobu
Niektóre telefony mogą być z powodzeniem używane (Samsung ...) Niektóre telefony nie mogą (HTC nexus ...)
Oto mój kod
public class MainActivity extends Activity {
private WebView wvBrowser;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViews();
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (wvBrowser.canGoBack() && event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
wvBrowser.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void findViews() {
wvBrowser = (WebView) findViewById(R.id.Browser);
//wvBrowser.loadUrl(getString(R.string.googleUrl));
wvBrowser.getSettings().setSupportZoom(true);
wvBrowser.getSettings().setBuiltInZoomControls(true);
wvBrowser.loadUrl("file:///android_asset/ts.htm");
}
}
Odpowiedzi:
2 dla odpowiedzi № 1to jest rozwiązanie dla Ciebie
Zgodnie z dokumentacją i moim doświadczeniem powinno działać całkiem dobrze. Musisz tylko ustawić swój WebClient z overriden metoda onReceivedError w Twoim WebView.
Oto fragment mojej starej aplikacji testowej:
wvBrowser = (WebView) findViewById(R.id.Browser);
wvBrowser.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Log.i("WEB_VIEW_TEST", "error code:" + errorCode);
super.onReceivedError(view, errorCode, description, failingUrl);
}
});
Przetestowałem to i działa całkiem dobrze. Sprawdź swoje dzienniki i zobacz, jaki rodzaj błędu kodu występuje.
to wszystko można znaleźć na http://developer.android.com/reference/android/webkit/WebView.html
Mam nadzieję, że to pomoże.
6 dla odpowiedzi nr 2
Chciałem tylko dodać jeszcze jedną odpowiedź. Ktoś może uznać moją sugestię za przydatną. Musisz dodać pozwolenie na użytkowanie w pliku AndroidManifest.xml. Mam podobny błąd naprawiony przez dodanie tej linii
<uses-permission android:name="android.permission.INTERNET" />
3 dla odpowiedzi nr 3
Wypróbuj ten link, pomoże ci to lepiej przeglądarka internetowa
Dołącz WebViewClient do swojego WebView, w którym zastąpisz onReceivedError ()
webview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
}
});