Java 让Android应用程序收听共享链接
我希望我的Android应用程序在用户共享另一个应用程序(如浏览器)的URL时显示为一个选项。我如何注册我的应用程序才能做到这一点?我如何应对链接共享 非常感谢 编辑: 我尝试过像这样使用IntentFilter,但没有成功: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
<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
}
}