瀏覽頁

權限

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

程式碼

public class MainActivity extends Activity {

WebView mWebView = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mWebView = (WebView) findViewById(R.id.webview);

mWebView.loadUrl("http://tw.yahoo.com");

}

}

這樣基本上就會載入畫面了, 可是如果實際測試, 會發現會使用外部的瀏覽器開啟.

原因是因為當載入時, yahoo 判斷是 Mobile 所以轉址, 而這轉址的動作我們並沒有處理, 所以就會開啟預設的瀏覽器瀏覽.

解決方式如下 :

public class MainActivity extends Activity {

WebView mWebView = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mWebView = (WebView) findViewById(R.id.webview);

mWebView.setWebViewClient(mWebViewClient);

mWebView.loadUrl("http://tw.yahoo.com");

}

WebViewClient mWebViewClient = new WebViewClient() {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

};

}