让Android应用程序收听共享链接

Dav*_*res 13 java android share

当用户从另一个应用程序(如浏览器)共享URL时,我希望我的Android应用程序显示为一个选项.如何注册我的应用程序呢?我如何对链接共享做出反应?

非常感谢.

编辑:

我试过像这样使用IntentFilter但没有成功:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Try*_*ain 22

在最低限度,您需要:

<activity android:name=".ShareActivity">
    <intent-filter
        android:label="Share with my app">
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

在你的清单中...至少会让它出现在'分享'列表中.

您缺少的最重要的部分是:

<action android:name="android.intent.action.SEND" />
Run Code Online (Sandbox Code Playgroud)

要使它实际执行某些操作,您需要一个Activity.

这也可能有所帮助:http: //sudarmuthu.com/blog/sharing-content-in-android-using-action_send-intent

附加信息:

<activity android:name=".ShareActivity">
<intent-filter
    android:label="Share with my app">
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="text/plain" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

在那里,<data android:mimeType会限制你回应什么,如果你想限制你的应用程序的响应.

  • 您的问题询问了如何列出它.你可能想接受这个作为答案,并发布另一个问题'从android.intent.action.SEND intent检索共享网址'只是一个想法. (4认同)
  • 或者不是:http://www.vogella.de/articles/AndroidIntent/article.html#explicitintents是你正在寻找的 - 你至少应该投票,因为它有用,即使它确实提供了解决方案你的问题. (2认同)