移动邮件如何使电话号码可点击?

时间:2014-09-08 12:05:54

标签: android

我正在从网络应用程序向包含一些手机号码的Android手机发送消息,但该手机号码无法点击从那里设置来电。

2 个答案:

答案 0 :(得分:1)

怎么样?

如果你可以使用TextView,

有两种自动链接方式

1)在JavaCode中链接

离>

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 => Linkify.ALL

电子邮件=> Linkify.EMAIL_ADDRESSES

地址=> Linkify.MAP_ADDRESSES

网址=> Linkify.WEB_URLS

phonenumber => Linkify.PHONE_NUMBERS

2)xml中的AutoLink

离>

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

这个数字不包含 - (连字符),它没关系。

答案 1 :(得分:0)

您可以使用SpannableString和/或SpannableStringBuilder

这是关于它的a question

is Docs关于它

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

所以你得到这个String并将其拆分,并应用SpannableString

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

检查上面的qustion以完成,它在每个可兼容的项目上处理onClick