Android WebView щелкает открытым в WebView, а не в браузере по умолчанию - PullRequest
29 голосов
/ 03 апреля 2012

Я сделал один пример приложения, использующего WebView, в этом веб-представлении URL-адрес поступает из веб-служб.Он работает нормально, но если я нажму на любую ссылку в этом WebView, он автоматически перейдет на веб-браузер по умолчанию.Но я хочу открыть только в веб-просмотра моего приложения.Вот мой код:

WvBikeSite = (WebView) findViewById(R.id.wv_bikeWebsite);
wvBikeSite.loadUrl(getBundle.getString("www"));

Ответы [ 12 ]

0 голосов
/ 14 февраля 2015

Это откроет любую конкретную ссылку только в вашем приложении ...

WebView web;

web = (WebView) findViewById(R.id.web);
web.setWebViewClient(new WebViewClient(){

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        // TODO Auto-generated method stub
        super.onPageStarted(view, url, favicon);
    }
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url != null && url.startsWith("http://www.xplorerstrick.net")) {
            view.loadUrl(url);
            progDailog.show();
            return true;
        }
        else {
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            startActivity(intent);
            return true;
        }
    }
}
0 голосов
/ 27 октября 2014

Вот мой код, как решить вышеуказанную проблему (при клике по ссылке запрашивается браузер по умолчанию, чтобы открыть ссылку)

import android.os.Bundle;import android.annotation.SuppressLint;import android.app.Activity;
import android.view.Menu;import android.webkit.WebChromeClient;
import android.webkit.WebView;public class MainActivity extends Activity{
`@SuppressLint("SetJavaScriptEnabled")@Override protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);String url="http://google.com";WebView Webview=(WebView) this.findViewById(R.id.webView1);     Webview.getSettings().setJavaScriptEnabled(true);Webview.loadUrl(url);}@Override    public boolean onCreateOptionsMenu(Menu menu){//Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu);return true;}`}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...