本当にそれを感謝します。 URLが読み込まれたら、少し下にスクロールし、オレンジ色のボタンをクリックしてみてください。「オタク」と言うと、2つの異なるデバイスに2つの異なる動作があります。 Nexus 5Xでは、同じWebviewで目的地を読み込みますが、Galaxy Nexus API 22(Android 5.1.1)ではデフォルトのアンドロイドブラウザで目的地を開きます。私は自分の問題を伝えることができたと思う。解決策を探してみましたが見つかりませんでした。助けてください!!!!!!!!!!!!!!!!私のアンドロイドのWebViewは「ネクサス5XのAPI 25」でのWebView内のページをロードしますが、「ギャラクシーネクサスのAPI 22(アンドロイド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
私は実際にアンドロイドの新人/ママですので、私は問題を見つけることができません。しかし、2つの異なるデバイスに2つの異なる動作が存在するのはなぜですか? 1つは同じwebviewで開き、もう1つはデフォルトのブラウザで開きます。すべてのリンクがすべてのアンドロイドデバイスで同じwebview内で開きます。助けてください/お母さん – user3304659
以下の質問をよくお読みくださいhttp://stackoverflow.com/questions/42241452/ – sivaprakash