首页 文章

使用自定义uri方案的链接在TextView中不起作用

提问于
浏览
2

我正在尝试在我的应用程序中打开一组特定的活动,为此我在AndroidManifest文件中添加了一个自定义的uri方案 .

这里的问题是当我在TextView中使用这些链接时,我得到以下异常:

android.content.ActivityNotFoundException:找不到处理Intent的Activity {act = android.intent.action.VIEW dat = numbers://imnumbers.com/buynumber(has extras)}

从WebView(在WebView中单击链接)一切正常 . 我在网上广泛搜索了一个无济于事的解决方案 .

这就是我为TextView解析html的方法:

textView.setText(Html.fromHtml(message.getContent()));
textView.content.setMovementMethod(LinkMovementMethod.getInstance());

我试过了this answer但它只是不起作用 . 点击链接时没有任何反应 .

UPDATE :自定义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>

2 回答

  • 2

    你说你在这里尝试了答案 . Android TextView with Clickable Links: how to capture clicks?

    你和_2354944一起尝试过这个答案吗? tv.setMovementMethod(LinkMovementMethod.getInstance());

  • 1

    我终于设法解决了这个问题 . 问题在于尾部斜杠 \ . 删除它们解决了这个问题 .

    <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>
    

相关问题