[Android] 學習筆記:取得 WebView 目前的 URL

[Android] 學習筆記:取得 WebView 目前的 URL

利用 WebView 寫 Android 上的 web-based app 時,

有時會需要知道從外面 (Android) 知道 WebView 目前瀏覽到哪個 URL 了,

好做相對應的動作~

 

舉例來說,我想要在如果 URL 裡面有 popup.html 和 options.html 時,

代表目前還在自己的網頁裡,按下 Back 鍵代表要離開 app,

但如果不是這樣的 URL 的話,

代表目前是在外部的網頁裡,按下 Back 鍵代表要回到上一頁,

這樣的話要怎麼做呢?

 

stackoverflow: how to get the url of the webView 這邊很快查到解答,

用 webview.getUrl() 就行了~

 

下面的範例程式就是用 getUrl() 取得 URL 後,判斷是否包含 options.html / popup.html,

如果是,而且可以回上一頁的話 (webview.canGoBack()),就回上一頁,

否則跳出一個警告視窗:

@Override
public void onBackPressed() {
String url = m_webView.getUrl();
if(m_webView.canGoBack() &&
url.indexOf("/options.html") < 0 &&
url.indexOf("/popup.html") < 0)
{
m_webView.goBack();
}
else
{
new AlertDialog.Builder(MultiLibraryLoginActivity.this)
.setMessage(R.string.exit_question)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
}})
.setNegativeButton(R.string.cancel, null)
.show();
}
}

 

 

 

(本頁面已被瀏覽過 1,827 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料