我在应用程序的注册模块中工作,使用Web服务返回与新用户对应的生成的TinyURL
。
此TinyUrl
通过WebView
为用户提供对平台的访问权限。
问题:
WebView
适用于任何网址,但不适用于TinyURL
。 TinyURL
适用于其他浏览器。我错过了什么吗?
WebView
WebView browser = (WebView) findViewById(R.id.wvBrowser);
WebSettings webSettings = browser.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowContentAccess(true);
browser.setWebViewClient(new WebViewClient());
browser.loadUrl(myTinyUrl);
WebView
的XML定义:
<WebView
android:id="@+id/wvBrowser"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
感谢您的时间和帮助。欢迎提出任何建议。
答案 0 :(得分:1)
WebView
网址应以http://
或https://
开头。以www...
开头的网址通常会显示标准的Android 404页面。
答案 1 :(得分:1)
您可以在加载之前使用此方法修复网址错误,例如http://
或www...
:
/**
* fix the URL by adding missing "www." and "http://"
*
* @param url
* @return fixed url
*/
public static String fixUrl(String url) {
if (!(url == null || url.length() == 0)){
if (!url.startsWith("www.") && !url.startsWith("http://")) {
url = "www." + url;
}
if (!url.startsWith("http://")) {
url = "http://" + url;
}
}
return url;
}