Android 在移动数据上,webview应用程序在chrome中打开。如何始终在webview中强制执行它?

Android 在移动数据上,webview应用程序在chrome中打开。如何始终在webview中强制执行它?,android,google-chrome,mobile,webview,Android,Google Chrome,Mobile,Webview,我有一个简单的webview应用程序,它有一个启动屏幕。当它进入主活动时,它将在Chrome中打开,但仅在移动数据上打开。如果在wifi上,它将在应用程序中打开。在应用程序中打开是预期的操作。无论连接类型如何,如何强制在webview中打开页面?请参阅下面我的代码 注意:在webview中单击的链接在Chrome中打开,这是预期的操作 我希望我说得够清楚,我开发应用程序才一个月左右。谢谢我真的很感谢你的帮助 public class MainActivity extends AppCompatA

我有一个简单的webview应用程序,它有一个启动屏幕。当它进入主活动时,它将在Chrome中打开,但仅在移动数据上打开。如果在wifi上,它将在应用程序中打开。在应用程序中打开是预期的操作。无论连接类型如何,如何强制在webview中打开页面?请参阅下面我的代码

注意:在webview中单击的链接在Chrome中打开,这是预期的操作

我希望我说得够清楚,我开发应用程序才一个月左右。谢谢我真的很感谢你的帮助

public class MainActivity extends AppCompatActivity implements AdvancedWebView.Listener {

  private AdvancedWebView mWebView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mWebView = (AdvancedWebView) findViewById(R.id.webview);
    mWebView.setListener(this, this);
    mWebView.loadUrl("http://seanpattersondesigns.com");
    boolean preventCaching = false;
    mWebView.setGeolocationEnabled(true);
    mWebView.loadUrl("http://seanpattersondesigns.com", preventCaching);
    mWebView.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (url != null && url.startsWith("http://")) {
                view.getContext().startActivity(
                        new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                return true;
            } else {
                return false;
            }
        }
    });
  }

  @SuppressLint("NewApi")
  @Override
  protected void onResume() {
    super.onResume();
    mWebView.onResume();
  }

  @SuppressLint("NewApi")
  @Override
  protected void onPause() {
    mWebView.onPause();

    super.onPause();
  }

  @Override
  protected void onDestroy() {
    mWebView.onDestroy();

    super.onDestroy();
  }

  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    mWebView.onActivityResult(requestCode, resultCode, intent);

  }

  @Override
  public void onBackPressed() {
    if (mWebView.canGoBack()) {
        mWebView.goBack();
    } else {
        finish();
    }
  }

  @Override
  public void onPageStarted(String url, Bitmap favicon) {
  }

  @Override
  public void onPageFinished(String url) {
  }

  @Override
  public void onPageError(int errorCode, String description, String failingUrl) {
  }

  @Override
  public void onDownloadRequested(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {

  }

  @Override
  public void onExternalPageRequest(String url) {
  }

}

可能重复感谢buczek的回复。虽然我的问题是,当没有连接到WiFi和使用移动数据时,行为会有所不同。我不确定是否需要向清单中添加其他权限?在调用loadURL之前是否尝试移动setWebViewClient?我有一个类似的问题,这就是我的解决方案。我尝试了,但没有成功。我在不同的地方尝试,希望能找到正确的地方。这不是最好的方法,但我真的不知道还能做什么。你也试过不同的设备吗?可能重复感谢buczek的回复。虽然我的问题是,当没有连接到WiFi和使用移动数据时,行为会有所不同。我不确定是否需要向清单中添加其他权限?在调用loadURL之前是否尝试移动setWebViewClient?我有一个类似的问题,这就是我的解决方案。我尝试了,但没有成功。我在不同的地方尝试,希望能找到正确的地方。不是最好的方法,但我真的不知道还能做什么。你也试过不同的设备吗?