2011-09-29 28 views
0

我正在嘗試使用shouldOverrideUrlLoading在webview中打包www.xyz.com。我有兩個啓動應用程序的活動,它檢查所有正在運行的活動,並確定是否啓動新實例以及其他活動,這些活動將我的應用程序www.xyz.com包裝在webview中。Android:webview

我面臨兩個問題:

  1. 當我按下睡眠按鈕,然後再按一下打開設備時,或者當應用程序空閒睡覺去了,我按按鈕打開設備,應用程序重新啓動(webview重新啓動)。

  2. 此外,當打開其他網站的網絡應用程序中的鏈接(例如www.abc.com)無法正常工作時,它會首次運行並根據需要在外部瀏覽器中打開該網站,但是當進一步點擊嘗試在webview中打開不需要的網站。

我用Google搜索,發現這個類似下面的代碼建議:

@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if (url.contains("abc")) { 
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
    startActivity(i); 
    return true; 
    } else { 
    view.loadUrl(url); 
    return false; 
    } 
} 

然而,在我的情況下,首次現場www.abc.com在外部瀏覽器,但對於開第二次在webview中打開它,我在eclipse中調試它,發現url值在後續cliks中是相同的。

+0

任何一個有類似的問題,堅持這個問題 – user969199

回答

0

1)對於重啓的WebView問題,你需要下面的代碼行添加到您的活動包含的WebView

android:launchMode="singleInstance" 
android:alwaysRetainTaskState="true" 

也看到有關如何保存在捆綁的WebView的狀態教程。

2)對於外部瀏覽器問題,請嘗試

url.equals("www.abc.com") 

,而不是

url.contains("abc") 

。希望解決您的問題:)

相關問題