我的Android应用在打开失败时,会对urls进行一些检查。
现在我正试图将它移植到iOS系统,代号为One。
我的代码如下。请注意,Android代码是插入的,我想有Codename对应的。
Boolean can = Display.getInstance().canExecute(url);
if(can != null && can) {
Display.getInstance().execute(url);
} else {
boolean validWebUrl =
Patterns.WEB_URL.matcher(url).matches(); //Android code, won't compile
if (validWebUrl)
{
//shows a message about activity/app not available
else {
//shows a message about the url being not valid
}
}
正如你所看到的,在检查之后,用户会被告知结果,如果它是有意义的。 我想正确地告知用户关于:
1-应用程序不可用
2-url无效
其实条件应该是 !validWebUrl,才能正确检测出url是缺失的app,但是有重叠的情况,比如苹果地图深层链接,所以最好是。
Boolean can = Display.getInstance().canExecute(url);
if(can != null && can) {
Display.getInstance().execute(url);
} else {
ShowMessage("url not valid or app not available");
}
这只是一个正则表达式模式检查,你可以使用re类来执行类似的正则表达式检查,但我个人不喜欢regex,尽量选择简单一点的。
String lower = url.toLowerCase();
if(lower.startsWith("http://") || lower.startsWith("https://")) {
}