我需要从我的android应用中拨打电话号码吗?从下面看哪一个有效

时间:2019-07-09 10:00:43

标签: android linkify

1)我使用过linkify html方法链接

 value = "<a href="+to_tel+">"+number+"</a>";
 Linkify.addLinks(t, Linkify.PHONE_NUMBERS);
 Html.fromHtml(value);`                

2)可点击的跨度方法

ClickableSpan clickableSpan = new ClickableSpan() {
     @Override
     public void onClick(View textView) {
        Intent intent = new Intent(Intent.ACTION_DIAL);
        intent.setData(Uri.parse("tel:" + phoneNumber.replace(" ", "")));
        startActivity(intent); 
 }


SpannableString spannableString = new SpannableString(stringBuilder);
spannableString.setSpan(clickableSpan, phoneSpanStart, phoneSpanEnd,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

2 个答案:

答案 0 :(得分:1)

第二种方法最好是使用意图。正如Android documentation.

中的官方建议
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + phoneNumber.replace(" ", "")));
startActivity(intent); 

注意:

  

拨打电话(需要CALL_PHONE权限)

<uses-permission android:name="android.permission.CALL_PHONE" />

答案 1 :(得分:0)

也可以通过添加

android:autoLink="phone"

进入您的文本视图(只要文本视图仅包含您要拨打的号码,当前您正在使用一个文本视图,但是仅可以使用联系人详细信息进行第二个文本视图)。

这将启动用户Phone应用程序,并在其中填充textView的值