java - Android webview 无法打开 api.whatsapp
问题描述
我正在尝试使用 Android 网络视图从我的网页打开一个 api.whatsapp 链接,但我遇到了错误 ERR_UNKNOWN_URL_SCHEME
。
我已经多次更改 shouldOverrideUrlLoading 方法试图修复它,但意图永远不会奏效。以前有人遇到过同样的问题吗?
这是我的代码的当前版本:
public class MainActivity extends AppCompatActivity {
// public static final String TAG = MainActivity.class.getSimpleName();
private WebView mywebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mywebView = (WebView) findViewById(R.id.activity_main_webview);
WebSettings webSettings = mywebView.getSettings();
mywebView.loadUrl("https://mypage");
webSettings.setJavaScriptEnabled(true);
mywebView.setWebViewClient(new WebViewClient());
}
public class myWebClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//String url = request.getUrl().toString();
if (Uri.parse(url).getHost().equals("https://mypage")) {
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}
有什么建议么?
解决方案
将验证添加到您的shouldOverrideUrlLoading
方法中,例如:
Patterns.WEB_URL.matcher(url).matches();
推荐阅读
- rest - 更新 Azure DevOps Wiki 页面使用 powershell
- javascript - 未定义代表 querySelector 类的变量 Nightmare.js
- visual-studio - 在 Subversion 中构建 Visual Studio 解决方案并保留项目引用
- python-3.x - 类型错误:get_token() 缺少 1 个必需的位置参数:'bs4'
- ios - 支持 UITextView 属性字符串中动态设置的字体
- javascript - 如何用Javascript中另一个数组的值更改数组中的特定非零值
- java - 如何让exoplayer改变质量?
- apache - 为什么我的网站一直显示未找到?
- android - setRequestedOrientation 允许在 1 秒内旋转
- javascript - command-js 的强制参数