Android-приложение открывает браузерное приложение вместо webView, как мне это остановить? - PullRequest
1 голос
/ 10 марта 2011

Прямо сейчас, когда я нажимаю определенную кнопку, он начинает намерение открыть веб-страницу в webView, но вместо этого он открывает приложение браузера, открывая адресную строку, а это не то, что мне нужно.

Послевыполняя некоторые исследования, я обнаружил, что могу использовать метод shouldOverrideUrlLoading (), чтобы предотвратить это, и просто открыть страницу в веб-представлении, но я не знаю, как реализовать этот метод в своем коде, помощь будет принята с благодарностью!

Это то, что у меня есть в классе, где я открываю веб-страницу:

public class Codes extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.codes);

    View titleView = getWindow().findViewById(android.R.id.title);
    if (titleView != null) {
      ViewParent parent = titleView.getParent();
      if (parent != null && (parent instanceof View)) {
        View parentView = (View)parent;
        parentView.setBackgroundColor(Color.rgb(228, 108, 10));
      }
    }

    WebView codes = (WebView)findViewById(R.id.codesWebView);
    codes.getSettings().setJavaScriptEnabled(true);
    codes.loadUrl("http://dev10.affirmaconsulting.com:24009/keyentry");
    shouldOverrideUrlLoading(codes, "http://dev10.affirmaconsulting.com:24009/keyentry");

    }
}

Ответы [ 2 ]

6 голосов
/ 27 сентября 2011

У меня была такая же проблема, что страницы загружались не в моем веб-браузере, а через приложение браузера.Я решил проблему, реализовав класс WebViewClient и переопределив метод shouldOverrideUrlLoading.

    WebViewClient webClient = new WebViewClient()
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView  view, String  url)
        {
            return false;
        }
    };
    webView.setWebViewClient(webClient);

Следующая ссылка оказалась полезной: http://www.firstdroid.com/2010/08/05/override-url-loading-in-webview-android-tutorial/

2 голосов
/ 10 марта 2011

Мы выполняем эту задачу в одном из наших действий и не сталкивались с этой проблемой.Вот как выглядит наш файл:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.document_viewer_activity);

    WebView wv = (WebView) findViewById(R.id.documentViewerWebview);
    wv.getSettings().setJavaScriptEnabled(true);

    String url = getString(R.string.document_viewer_url) + 
            getIntent().getExtras().getString("media");
    wv.loadUrl(url);

}

Веб-просмотр, определенный в файле макета, выглядит следующим образом:

  <WebView
        android:id="@+id/documentViewerWebview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
 />

Надеюсь, это поможет.

...