如果有人可以請嘗試這個簡單的示例並運行應用程序I會真的很感激它。加載url後,向下滾動一下,然後嘗試單擊一個橙色按鈕,其中顯示「TAKE ME THERE」,在兩個不同的設備中有兩種不同的行爲。在Nexus 5X中,它在同一Webview中加載目標,但在Galaxy Nexus API 22(Android 5.1.1)中,它會在默認的Android瀏覽器中打開目標。我希望我能夠傳達我的問題。我試圖尋找解決方案,但無法找到它。請幫忙!!!!!!!!!!!!!!!!我的android webview在「Nexus 5X API 25」的webview中加載頁面,但不在「Galaxy Nexus API 22(Android 5.1.1)」中加載「
package in.ac.cus.webview;
import android.annotation.TargetApi;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
private WebView myWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Webview initial setup procedure
myWebView = (WebView) findViewById(R.id.webview);
WebSettings websettings = myWebView.getSettings();
websettings.setJavaScriptEnabled(true);
myWebView.loadUrl("http://library.cus.ac.in");
myWebView.setWebViewClient(new WebViewClient());
}
private class WebViewClient extends android.webkit.WebViewClient {
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
@TargetApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return true;
}
}
}
當然是的。你覺得'startActivity(intent);'做了什麼? – njzk2
我實際上是新的android sir/mam,所以我無法找出問題所在。但爲什麼在兩種不同的設備中有兩種不同的行爲?一個在同一個webview中打開,另一個在默認瀏覽器中打開..我想要在所有android設備上的相同webview中打開所有鏈接。請幫助我先生/ mam – user3304659
請檢查以下問題http://stackoverflow.com/questions/42241452/ – sivaprakash