0

我正在尝试制作一个自定义链接类,它将在文本字符串中捕获 twitter #hashtags @mentions 和 URL,并让它启动另一个活动到目前为止,我已经能够找到一些代码,但两个问题是它捕获 URL 和 @提到但没有#hashtags,而不是被另一个活动捕获,我设置了一个意图过滤器,它只是启动浏览器,下面我附上了我的代码,任何帮助都会有很长的路要走

这是我的主要活动

TextView textView =  (TextView) findViewById(R.id.tweet);
    String str = "@aman_vivek how are u  #aman_vivek <http://www.google.com> <http://www.tekritisoftware.com>";
    textView.setText(str);
    Pattern wikiWordMatcher = Pattern.compile("(@[a-zA-Z0-9_]+)");
    String wikiViewURL =    "http://www.twitter.com/";
    Linkify.addLinks(textView, wikiWordMatcher, wikiViewURL);


    Pattern wikiWordMatcher1 = Pattern.compile("\\b(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]");
    Linkify.addLinks(textView, wikiWordMatcher1, null);

这是我的班级的意图过滤器,应该捕捉到意图

<activity
        android:name=".DirectMessageActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <category android:name="android.intent.category.DEFAULT" />

            <action android:name="android.intent.action.VIEW" />

            <data android:scheme="http://www.twitter.com/" />
        </intent-filter>
    </activity>
4

2 回答 2

1

虽然为时已晚,但它可能对其他人有所帮助,是一篇关于如何在 Android 应用程序中捕获主题标签然后调用另一个活动的文章。

于 2013-10-08T05:30:48.917 回答
0

它捕获 URL 和 @mentions 但不捕获 #hashtags

那是因为您没有在代码中做任何事情来捕获主题标签。

而不是被另一个活动捕获,我设置了一个意图过滤器,它只是启动浏览器

那是因为http://www.twitter.com/它不是一个方案,而您的<data>元素声称它是。尝试http用于方案和www.twitter.com主机。请注意,这意味着您设备上的用户访问 Twitter URL 的任何尝试都会将您的应用程序作为选项打开,这可能会导致他们用霰弹枪追随您。将它们转换为您拥有的其他域可能会更好,以限制可能的冲突。

于 2012-11-21T22:03:54.807 回答