Я думаю, что сопоставление веб-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));
}
}