Phone 数字链接在 Android 9 上不起作用
Phone numbers links not working on Android 9
我想让我的 phone 号码可以点击,现在我当前的解决方案是:
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(电子邮件是可点击的,因此问题仅出现在数字 phone)
我已经尝试过使用 XML 布局或
textView.setAutoLinkMask(Linkify.PHONE_NUMBERS)
和输出一样,phone数字不可点击。
如何在 Android 9 上修复它?
掩码 Linkify.EMAIL_ADDRESSES | Linkify.PHONE_NUMBERS
似乎是正确的,根据 documentation - 但我不会将类似 5008 878 6578
的东西识别为有效的 phone 数字 - 我绝对可以不要拨它,如果我会点击它...所以很可能 sPhoneNumberMatchFilter
可能有问题。
使用 tel://50088786578
手动构建所需的 Spannable
可能是一个简单的解决方案;调整 sPhoneNumberMatchFilter
可能是另一种选择...... .addLinks() 也允许这样做,参数 matchFilter
.
您确定 运行 与 Android 9.0 上的 Locale
相同吗?这应该是要匹配的正则表达式模式可能来自的地方,因为这些格式计入本地化。
我想让我的 phone 号码可以点击,现在我当前的解决方案是:
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(电子邮件是可点击的,因此问题仅出现在数字 phone)
我已经尝试过使用 XML 布局或
textView.setAutoLinkMask(Linkify.PHONE_NUMBERS)
和输出一样,phone数字不可点击。
如何在 Android 9 上修复它?
掩码 Linkify.EMAIL_ADDRESSES | Linkify.PHONE_NUMBERS
似乎是正确的,根据 documentation - 但我不会将类似 5008 878 6578
的东西识别为有效的 phone 数字 - 我绝对可以不要拨它,如果我会点击它...所以很可能 sPhoneNumberMatchFilter
可能有问题。
使用 tel://50088786578
手动构建所需的 Spannable
可能是一个简单的解决方案;调整 sPhoneNumberMatchFilter
可能是另一种选择...... .addLinks() 也允许这样做,参数 matchFilter
.
您确定 运行 与 Android 9.0 上的 Locale
相同吗?这应该是要匹配的正则表达式模式可能来自的地方,因为这些格式计入本地化。