手机信息如何使电话号码可点击



我正在从web应用程序向安卓手机发送消息,其中包含一些手机号码,但该手机号码无法点击,无法从那里设置呼叫。

这个怎么样?

如果可以使用TextView、

自动链接有两种方法

1) JavaCode 中的Linkify

ex>

public class LinkifyActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView txtPhone1 = (TextView)findViewById(R.id.txtPhone1);
        Linkify.addLinks(txtPhone1, Linkify.PHONE_NUMBERS);
        TextView txtPhone2 = (TextView)findViewById(R.id.txtPhone2);
        Linkify.addLinks(txtPhone2, Linkify.PHONE_NUMBERS);
        TextView txtWeb = (TextView)findViewById(R.id.txtWeb);
        Linkify.addLinks(txtWeb, Linkify.WEB_URLS);
    }
}

all=>链接.all

电子邮件=>Linkify.EMAIL_ADDRESSES

address=>Linkify.MAP_ADDRESSES

web URL=>Linkify.web_URLS

电话号码=>Linkify.PHONE_NUMBERS

2) xml 中的自动链接

ex>

<TextView
  android:id="@+id/txtAutoWeb"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:autoLink="phone"
  android:text="01012341234" />

这个数字不包含-(连字符),这无关紧要。

您可以使用SpannableString和/或SpannableStringBuilder

这里有一个关于它的问题

这是关于的文档

因此,您可能需要使用特殊分隔符分隔发送邮件然后将其添加到包装在SpannableString中的textView中例如data bla bla#SEP#+963xxxxxxx#SP#data2 bla bla

所以你得到这个字符串并将其拆分,然后应用SpannableString

String msg = getMsgFromServer();
String msgParts[] = msg .split("#SEP#");

检查上面的问题以完成,它在每个可扩展项目上都有onClick的处理。

最新更新