2011-11-20 67 views
0

我有一个活动这样定义匹配:创建IntentFilter的一个网址,没有方案或主机

[Activity (Label = "MyActivity")] 
[IntentFilter (new[]{Intent.ActionView}, 
Categories=new[]{Intent.CategoryDefault, Intent.CategoryBrowsable}, 
DataScheme="")] 
public class MyActivity : Activity 
{} 

或用于非MonoDroid的民谣:

<activity android:label="MyActivity" android:name="com.myapp.android.MyActivity"> 
    <intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="" /> 
    </intent-filter> 
</activity> 

它包含一个文本视图,我与HTML填充这样的:

Android.Text.ISpanned spannedContent = Html.FromHtml (someHTML);      
textView.SetText (spannedContent, TextView.BufferType.Spannable); 

的链接显示为可点击的,越远越好。然而,我的链接的内容是这样的:

Here is a link to: <a href="/blah">blah<a> 

我无法弄清楚如何产生的意图决议,我的活动相匹配。我已经尝试了DataScheme/DataHost/DataPath和有/无类别的几种组合。修改URL是这样的:

<a href="customScheme://blah">blah</a> 

,并在意图过滤设置相应的方案的工作,但我不希望在修改传入HTML的业务。

匹配,而无需修改HTML本身的任何机会呢?

回答

0

好吧,如果这是一个WebView,你会使用loadDataWithBaseURL(),到指定的相对路径是相。不过,我不明白,你可以做一个简单的通话Html.fromHtml()。您可以尝试使用fromHtml()变体,它将Html.TagHandler作为参数,并将其链接变为真实的。

然而,/blah不会解决在Android上任何东西,所以,这种或那种方式,你必须修改HTML。

+0

最终我去修改HTML插入自定义方案。不是我想要的,但工作得很好。 –

相关问题