Android 在移动数据上,webview应用程序在chrome中打开。如何始终在webview中强制执行它?
我有一个简单的webview应用程序,它有一个启动屏幕。当它进入主活动时,它将在Chrome中打开,但仅在移动数据上打开。如果在wifi上,它将在应用程序中打开。在应用程序中打开是预期的操作。无论连接类型如何,如何强制在webview中打开页面?请参阅下面我的代码 注意:在webview中单击的链接在Chrome中打开,这是预期的操作 我希望我说得够清楚,我开发应用程序才一个月左右。谢谢我真的很感谢你的帮助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
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?我有一个类似的问题,这就是我的解决方案。我尝试了,但没有成功。我在不同的地方尝试,希望能找到正确的地方。不是最好的方法,但我真的不知道还能做什么。你也试过不同的设备吗?