Поскольку вы не предоставили никакой информации о том, почему он не работает, я просто предполагаю, что URL отсутствует http
, поскольку ваше регулярное выражение не соответствует этому, в таком случае я бы просто сделал это
Редактировать: вам действительно нужно ваше регулярное выражение?Android имеет встроенный способ сопоставления URL-адресов.
Вы можете найти документы здесь https://developer.android.com/reference/android/util/Patterns
Patterns.WEB_URL.matcher(result).matches();
, поэтому ваш код будет выглядеть так
if (Patterns.WEB_URL.matcher(result).matches()) {
builder.setPositiveButton("Go", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent browserIntent = new Intent(
Intent.ACTION_VIEW,
Uri.parse(!result.startsWith("http://") && !result.startsWith("https://") ? "http://" + result : result)
);
startActivity(browserIntent);
}
});
}