我已經在android web視圖中包含了一個web應用程序,並且在網頁中有一個鏈接打開了一些其他的網站,當鏈接被點擊時它可以正常工作然而點擊第二次時,該網站沒有找到,Android:點擊網頁視圖中的鏈接
代碼:
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains("some site ")) {
Intent i = new
Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
return true;
} else {
view.loadUrl(url);
return false;
}
}
@THelper和@mikegr,感謝您的答覆,
其實在我案例我有一個模式面板(JSF)在我的web應用程序中包含一些按鈕,點擊按鈕,我打開一些其他網站使用JavaScript的window.open()方法,它在桌面瀏覽器中正常工作,但是,當我把這個網絡在android webview中的應用程序,一切工作正常,除非我第一次點擊這個按鈕,我可以使用外部瀏覽器打開其他網站,但是第二次點擊webview試圖打開這個在web視圖而不是外部瀏覽器的其他網站,我沒有找到與其他網站的整個網址的網站,即使當我註銷並再次登錄,因爲啓動的應用程序仍在運行時,會發生這種情況。
也在我的情況下,應用程序閒置後,我得到了黑屏。
我通過網絡衝浪,發現呈三角問題,但這並沒有幫助,這裏是鏈接:
http://groups.google.com/group/android-for-beginners/browse_thread/thread/42431dd1ca4a9d98
任何幫助和想法將是非常有益的我,這對我來說太長了,
因爲我試圖在web視圖中顯示我的web應用程序,我只有一個活動,它包含這樣的代碼
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
// so that when launcher is clicked while the application is
// running , the application doesn't start from the begnining
} else {
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
// Show the ProgressDialog on this thread
this.progressDialog = ProgressDialog.show(this, "Pleas Wait..", "Loading", true);
browser = (WebView) findViewById(R.id.webview);
browser.getSettings().setJavaScriptEnabled(true);
browser.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
Log.i(TAG, "Finished loading URL: " +url);
if (progressDialog.isShowing()) {
progressDialog .dismiss();
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains("some site")) {
Intent i = new
Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
return true;
} else {
view.loadUrl(url);
return true;
}
}
});
browser.loadUrl("mysite");
}
}
您是否添加日誌記錄以查看第二次鏈接是否仍然相同?任何錯誤消息?是否有可能暫時失去了互聯網連接(當模擬器運行一段時間時偶爾會發生這種情況)。 – THelper