Linkify调用java代码

时间:2010-07-12 15:43:17

标签: android linkify

有没有办法让Linkify'链接在我的Activity中调用方法,或者我只允许使用Linkify创建指向其他活动/应用等的链接。 ?

4 个答案:

答案 0 :(得分:2)

你也可以放弃使用linkify,只需使用linkify的正则表达就可以将可点击的跨度附加到你想要的地方。这些可点击的跨度可以调用您的代码。

以下是一个示例:Android: Launch activity from clickable text

答案 1 :(得分:2)

听起来你已经解决了几个问题。缺少的部分似乎是在前台接收Intent的现有Activity。你可以通过在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以查看是否应该调用该函数。

答案 2 :(得分:0)

您可以设置一个侦听特定方案的接收器,当您点击链接时,会调用一些以该方案开头的网址。

查看this答案了解详情。

答案 3 :(得分:-2)

不。 Linkify附带:

  • EMAIL_ADDRESSES
  • MAP_ADDRESSES
  • PHONE_NUMBERS
  • WEB_URLS

您可以尝试扩展它。 Here是src代码。