如何通过“使用完整操作”和“共享通过”菜单截取所有链接并指向我的Android应用程序?

时间:2014-01-10 12:39:35

标签: android android-intent hyperlink try-catch intercept

我正在尝试从应用程序中捕获链接并将其指向我的链接。即使我已经实现了每个人都建议的细节,我也无法让它发挥作用。

我的AndroidManifest.xml中有以下intent过滤器:

<intent-filter>
            <data android:scheme="http"
              android:host="*"
              android:pathPrefix="*" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <action android:name="android.intent.action.SEND" />
            <data android:mimeType="text/plain" />
            <action android:name="android.intent.action.SENDTO" />
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

我可以捕获共享的链接,我的应用程序列在“共享通过”列表中,但它没有列在“使用完整操作”列表中。

我也尝试过添加host和pathPrefix,但它也不能正常工作。

有什么建议吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

首先,pathPrefix采用前缀。因此,您的<intent-filter>仅支持在其路径中以星号开头的网址,如果有的话,网址将很少。

其次,正如OrhanC1所指出的,这应该是至少两个<intent-filter>元素,一个用于VIEW,另一个用于SENDTO。事实上,你需要三个:

  1. VIEW +(BROWSABLEDEFAULT
  2. SENDSENDTO)+ DEFAULT
  3. MAIN + LAUNCHER