В настоящее время у меня есть html-файл, который хранится локально, что является только html для главной страницы google в настоящее время. Когда я загружаю html в webview, он отлично работает, но ни одна из ссылок не работает. Например, когда я нажимаю ссылку для перехода к изображениям Google, она пытается перейти на страницу, но говорит, что веб-страница недоступна. Я использовал тост, чтобы отобразить, какой URL-адрес открывается, и тост показывает URL-адрес (http://www.google.com/imghp?hl=en&tab=wi в примере с изображениями Google), когда я набираю URL-адрес в браузере на своем компьютере, он работает, но он не работает при попытке навигации к нему через веб-просмотр на моем телефоне. Есть идеи? Ниже мой код.Ссылки Webview не работают с локально хранящимся html-файлом
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView wb = (WebView)findViewById(R.id.webView1);
wb.getSettings().setJavaScriptEnabled(true);
WebSettings settings = wb.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
//Listed as optimal settings for HTML5 (may need testing?).
//Ref. http://stackoverflow.com/questions/10097233/optimal-webview-settings-for- html5-support
wb.setFocusable(true);
wb.setFocusableInTouchMode(true);
wb.getSettings().setRenderPriority(RenderPriority.HIGH);
wb.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
wb.getSettings().setDatabaseEnabled(true);
wb.getSettings().setAppCacheEnabled(true);
wb.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
WebViewClient client = new WebViewClient(){
// you tell the webclient you want to catch when a url is about to load
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
Toast.makeText(getApplicationContext(), url, Toast.LENGTH_SHORT).show();
view.loadUrl(url);
return true;
}
// here you execute an action when the URL you want is about to load
@Override
public void onLoadResource(WebView view, String url){
}
@Override
public void onPageFinished(WebView view, String url)
{
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
};
wb.setWebViewClient(client);
wb.loadUrl("file:///mnt/sdcard/Android/data/output.html");
Спасибо!
Это было на самом деле разрешения, я полностью забыл об этом, поскольку я просто возвращаюсь в Android. Спасибо! Я приму ответ, когда это позволит. – johns4ta
приветствую какое-то время, и я делаю такую ошибку, так что не волнуйся теперь проблема ур! – duggu