【问题标题】:How a mobile message make a phone number clickable?移动消息如何使电话号码可点击?
【发布时间】:2014-09-08 20:47:21
【问题描述】:

我正在从 Web 应用程序向包含一些手机号码的 android 手机发送消息,但该手机号码不可点击以从那里设置呼叫。

【问题讨论】:

  • 分享您在 SMS 中发送的内容。
  • "我正在发送消息" >> 什么样的消息?短信 ? GCM ?
  • 感谢兄弟的回复,我发送给我的用户的文本是“我的号码是 +10XXXXXX”,但该号码无法从那里的消息框中点击。

标签: android


【解决方案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);
    }
}

所有 => Linkify.ALL

电子邮件 => Linkify.EMAIL_ADDRESSES

地址 => Linkify.MAP_ADDRESSES

网址 => Linkify.WEB_URLS

电话号码 => Linkify.PHONE_NUMBERS

2) xml 中的自动链接

前>

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

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

【讨论】:

  • 目的是显示短信可点击,而不是应用程序中的链接可点击
  • @Ranjith 嗯.. 你在寻找像this 这样的东西吗?我希望它有帮助..
【解决方案2】:

您可以使用SpannableString 和/或SpannableStringBuilder

这里是a question 关于它

这里是is Docs 关于它

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

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

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

检查上面的问题以完成,它在每个可跨项目上处理onClick

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 2013-02-06
    相关资源
    最近更新 更多