安卓深层链接的模式匹配



我的应用程序必须像网络链接和深层链接一样验证 Uris。

对于像 https://www.google.com 这样的网络链接,我发现这很有用:

boolean validWebUrl =Patterns.WEB_URL.matcher(url).matches();

但是当用于深度链接(如 appname://suitablestring

对于深层链接,相当于上述说明吗?

我认为 Web url 匹配是基于检查 http://https://等字符串。

因此,出于我的目的,我发现此解决方法可能很有用:

Uri url =Uri.parse(urlString);
Intent browserIntent = new Intent();
browserIntent.setData(url);
browserIntent.setAction(ACTION_VIEW);
try {
activity.startActivity(browserIntent);
}
catch (ActivityNotFoundException e)
{
boolean validWebUrl =
Patterns.WEB_URL.matcher(urlString).matches();
if (!validWebUrl)
{          
openAlertDialog(activity,activity.getResources().getString(R.string.url_not_valid_dialog_title),activity.getResources().getString(R.string.url_not_valid_error_message));
}
else {
openAlertDialog(activity,activity.getResources().getString(R.string.activity_not_found_for_url_dialog_title),activity.getResources().getString(R.string.activity_not_found_for_url_message));
}
}

相关内容

  • 没有找到相关文章

最新更新