Android:当用户点击此链接时,我如何共享链接并打开活动

时间:2016-04-28 18:26:59

标签: android android-intent intentfilter

我想让用户能够与他人分享他们的对象 我有一个活动,可以使用这样的意图过滤器显示对象信息:

<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:scheme="http" android:host="www.mywebsite.com" />
</intent-filter>

分享代码:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Constants.EXTRA_OBJECT_ID, id);
shareIntent.putExtra(Constants.EXTRA_IS_LOCAL, false);
shareIntent.putExtra(Intent.EXTRA_TEXT, "http://www.mywebsite.com");
startActivity(Intent.createChooser(shareIntent, "Share link using"));

但是当我点击此链接时,我无法在“使用完整操作”对话框中看到我的应用程序。

1 个答案:

答案 0 :(得分:1)

目前您尝试发送/共享链接,但您在清单中添加了视图的intent过滤器。因此,对于视图,您应该将Action意图设置为View,然后尝试。像这样:

Intent shareIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.mywebsite.com"));

这是因为您添加了视图类别的intent过滤器:

<action android:name="android.intent.action.VIEW" />

如果您想要分享链接,请在意图过滤器中添加SEND类别,如下所示:

<action android:name="android.intent.action.SEND"/>

我认为这对你有所帮助!