我想让我的电话号码可以点击,现在我当前的解决方案是:
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上修复它?
最佳答案
掩码Linkify.EMAIL_ADDRESSES |根据documentation,Linkify.PHONE_NUMBERS似乎是正确的-但我无法将5008 878 6578识别为有效的电话号码-如果单击它,我肯定无法拨打电话…因此,sPhoneNumberMatchFilter可能是有过错.
使用tel:// 50088786578手动构建所需的Spannable可能是一个简单的解决方案;调整sPhoneNumberMatchFilter可能是另一种选择…而且.addLinks()允许使用参数matchFilter.
使用tel:// 50088786578手动构建所需的Spannable可能是一个简单的解决方案;调整sPhoneNumberMatchFilter可能是另一种选择…而且.addLinks()允许使用参数matchFilter.
您确定要在Android 9.0上使用相同的语言环境运行吗?这应该是要匹配的正则表达式模式的来源,因为这些格式会计入本地化.