Подтвердить что ты не робот

Android-приложение для Android в приложении

У меня есть веб-просмотр в приложении для Android, но когда кто-то перемещается по сайту, он открывается в новом окне, я хочу, чтобы он оставался внутри webview. Есть ли способ сделать это легко? Вот код в моей деятельности:

super.onCreate(savedInstanceState);
    setContentView(R.layout.shop);
    WebView webview;
    webview = (WebView) findViewById(R.id.webview);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("http://www.google.co.uk");
4b9b3361

Ответ 1

Вам нужно создать WebViewClient:

public class myWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

И затем установите его в WebView следующим образом:

webview.setWebViewClient(new myWebViewClient());

Ответ 2

Или вы можете просто сделать это, не создавая новый класс:

myWebView.setWebViewClient(new WebViewClient());

Это работает для меня.

Ответ 3

webview.setWebViewClient(new WebViewClient());

Если вы хотите выполнить настройку, вам следует переопределить shouldOverrideUrlLoading (WebView view, String url). но это не рекомендуется в API 24. Вы можете использовать public boolean shouldOverrideUrlLoading (WebView view,WebResourceRequest request). на самом деле им обоим нужно вернуть false.

Пример Android WebView