我试图在我的应用程序中打开一组特定的活动,为此我在AndroidManifest文件中添加了一个自定义的uri方案。
这里的问题是当我在TextView中使用这些链接时,我得到以下异常:
android.content.ActivityNotFoundException:找不到要处理的Activity 意图{act = android.intent.action.VIEW dat = numbers://imnumbers.com/buynumber(有额外内容)}
从WebView(在WebView中单击链接)一切正常。我在网上广泛搜索了一个无济于事的解决方案。
这就是我为TextView解析html的方法:
textView.setText(Html.fromHtml(message.getContent()));
textView.content.setMovementMethod(LinkMovementMethod.getInstance());
我已经尝试this answer,但它不起作用。点击链接时没有任何反应。
更新: 自定义uri方案定义如下:
<activity
android:name=".simcard.NewBuySimCardActivity"
android:label="@string/title_activity_new_buy_sim_card">
<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:host="imnumbers.com"
android:pathPrefix="/buynumber/"
android:scheme="numbers"/>
</intent-filter>
</activity>
答案 0 :(得分:2)
我终于设法解决了这个问题。问题在于尾部斜杠\
。删除它们解决了这个问题。
<activity
android:name=".simcard.NewBuySimCardActivity"
android:label="@string/title_activity_new_buy_sim_card">
<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:host="imnumbers.com"
android:pathPrefix="/buynumber"
android:scheme="numbers"/>
</intent-filter>
</activity>
答案 1 :(得分:1)
你说你在这里尝试了答案。 Android TextView with Clickable Links: how to capture clicks?
您是否与setMovementMethod
一起尝试了答案?
tv.setMovementMethod(LinkMovementMethod.getInstance());