繁体   English   中英

Android 深层链接的模式匹配

[英]Pattern matching for Android deep links

我的应用程序必须验证 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));
     }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM