【发布时间】:2010-07-12 15:43:17
【问题描述】:
有没有办法让Linkify'd 链接调用我的Activity 中的方法,或者我是否只允许使用Linkify 来创建指向其他活动/应用等的链接?
【问题讨论】:
有没有办法让Linkify'd 链接调用我的Activity 中的方法,或者我是否只允许使用Linkify 来创建指向其他活动/应用等的链接?
【问题讨论】:
您也可以放弃使用 linkify,而只使用 linkify 的正则表达式将可点击的跨度附加到您想要的位置。那些可点击的 span 可以调用你的代码。
【讨论】:
听起来您已经解决了几个问题。缺少的部分似乎有一个现有的 Activity 在前台接收 Intent。您可以通过在 Manifest (android:launchMode="singleTop") 中将 Activity 声明为 singleTop 来做到这一点。
所以工作流程看起来像:
1) 通过 addLinks 与您的正则表达式、Linkify.Matcher 和 Linkify.TransformFilter 链接文本
2) 设置一个接收器来捕捉点击链接发起的 Intent。
3) 在关联的BroadcastReceiver的onReceive中,设置一个Intent来封装你的链接被点击的事实。然后在 Activity(已经在前台)调用 startActivity,传递 Intent。
4) 在Activity的onResume回调中,检查Intent是否应该调用该函数。
【讨论】:
你可以设置一个接收器来监听一个特定的方案,当你点击链接时调用一些以该方案开头的 url。
查看this答案了解更多详情。
【讨论】:
【讨论】: