点击短信内容,获取短信内的号码和链接

最近接到的任务其实只是修改这个功能,原功能是:点击到短信,系统根据识别出的数字段和链接段弹出ListView的选择菜单,用户可以对这些号码和链接进行拨号发短信或者打开网页的操作。修改后的需求是:点击短信中相应的号码或链接,只针对该号码或链接产生菜单。我们先看看某的实现方法:(1)首先利用我查找代码一贯的高效低智商的找到这个短信会话相关的类:ComposeMessageActiv
摘要由CSDN通过智能技术生成

最近接到的任务其实只是修改这个功能,原功能是:

点击到短信,系统根据识别出的数字段和链接段弹出ListView的选择菜单,用户可以对这些号码和链接进行拨号发短信或者打开网页的操作。

修改后的需求是:

点击短信中相应的号码或链接,只针对该号码或链接产生菜单。

我们先看看某的实现方法:

(1)首先利用我查找代码一贯的高效低智商的找到这个短信会话相关的类:ComposeMessageActivity.java

其中涉及到短信会话列表的是这样一个类

private MessageListView mMsgListView;

初始化的方法是

initMessageList()

(2)进入这个方法就可以看到mMsgListView的onItemClick方法,继续追踪方法里面调用的((MessageListItem) view).onMessageListItemClick();

当然也不要忽略一段重要代码,那就是mMsgListView的adapter,

mMsgListView.setAdapter(mMsgListAdapter);这个会在下章关于修改后需求的实现中介绍。

还有mMsgListView.setItemsCanFocus(false);关于这个设置的意义,主要是因为这个短信会话ListView中隐藏了多选的CheckBox,如果不设置这个属性,焦点将被item获取而使得CheckBox无法获得焦点而不能勾选。

(3)继续下面,看来要接触到真相了!

onMessageListItemClick()中可以清晰的看到点击事件到菜单的产生:

方法前面都是些关于item中元素的判断就忽略了,看到关键数组:final URLSpan[] spans = mBodyTextView.getUrls();

mBodyTextView肯定就是短信主体内容无疑了,那这个getUrls()方法是什么呢?

先转到配置文件中,来理解这个urls:

<TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_h
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值