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

Java 让Android应用程序收听共享链接,java,android,share,Java,Android,Share,我希望我的Android应用程序在用户共享另一个应用程序(如浏览器)的URL时显示为一个选项。我如何注册我的应用程序才能做到这一点?我如何应对链接共享 非常感谢 编辑: 我尝试过像这样使用IntentFilter,但没有成功: <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.categ

我希望我的Android应用程序在用户共享另一个应用程序(如浏览器)的URL时显示为一个选项。我如何注册我的应用程序才能做到这一点?我如何应对链接共享

非常感谢

编辑:

我尝试过像这样使用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>


有什么想法吗?

您需要创建一个带有适当意图过滤器的活动。阅读有关的文档,它用示例解释了所有这些。

您至少需要:

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

其他信息:

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


这里有
要在活动中获取图像,请使用
uriimguri=(Uri)i.getParcelableExtra(Intent.EXTRA_-STREAM)用于单个图像,或使用
ArrayList imgUris=i.getParcelableArrayListExtra(Intent.EXTRA\u流)用于图像列表:


希望这对我有所帮助

谢谢,当我共享一个URL时,它会将我的应用注册到列表中。但是,您发布的文章没有说明当另一个应用程序与我的应用程序共享URL时如何响应。现在,我的应用程序像往常一样是开放的,没有什么特别的事情发生。如何检索共享URL?您的问题是如何将其列出。你可能想接受这一点作为答案,然后发布另一个问题“从android.intent.action.SEND intent检索共享url”只是一个想法。或者不是:这是你想要的-你至少应该投票支持它,因为它很有帮助,尽管它确实为您的问题提供了解决方案。尽管做了文档中提到的所有事情,但在chrome上不起作用。如果它对某人仍然不起作用,请参考以下内容:PS:为此奋斗了几天。我无法获得意图。ACTION_SEND.equals(ACTION))开始工作。getAction返回null。如何接收csv文件?
<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>
Intent i = getIntent();
Bundle extras = i.getExtras();
String action = i.getAction();

// if this is from the share menu
if (Intent.ACTION_SEND.equals(action)) {   
    if (extras.containsKey(Intent.EXTRA_STREAM)) {
        Uri imgUri = (Uri) i.getParcelableExtra(Intent.EXTRA_STREAM);
        // Do job here
    }
}