Телефонные ссылки не работают на Android 9 - PullRequest
3 голосов
/ 22 мая 2019

Я хочу, чтобы мой номер телефона был кликабельным, сейчас мое текущее решение:

final SpannableString msg = "Contact us: test@t.t or call: 5008 878 6578"
Linkify.addLinks(msg, Linkify.EMAIL_ADDRESSES | Linkify.PHONE_NUMBERS);
textView.setText(msg);

Это отлично работает для Android 8.1 и ниже, но не для Android 9 (электронная почта кликабельна, поэтому проблематолько с номером телефона)

Я уже пытался сделать это с макетами XML или с

textView.setAutoLinkMask(Linkify.PHONE_NUMBERS)

И вывод такой же, номер телефона не активируется.

Как это исправить на Android 9?

1 Ответ

2 голосов
/ 22 мая 2019

Маска Linkify.EMAIL_ADDRESSES | Linkify.PHONE_NUMBERS кажется правильной, согласно документации - но я бы не узнал что-то похожее 5008 878 6578 в качестве действительного номера телефона - и я определенно не смог бы набрать его, если бы нажалэто ... так что, скорее всего, sPhoneNumberMatchFilter может быть виноват.Ручное создание желаемого Spannable с помощью tel://50088786578 может быть простым решением;настройка sPhoneNumberMatchFilter может быть другой опцией ... также .addLinks () разрешает это с аргументом matchFilter.

Вы уверены, что работаете с тем же Locale на Android 9.0?Именно из этого может исходить шаблон регулярных выражений, поскольку эти форматы учитываются при локализации.

...