如何使用网络应用在手机中分享内容?

时间:2015-01-01 19:43:22

标签: android mobile web protocols

我找不到任何相关内容。我阅读了有关协议/内容处理程序的所有内容,但似乎根本没有解决我的问题。

我正在尝试找到一种方法,允许Android用户(例如)使用网络应用程序共享内容。

示例:

1)在原生应用中查看Youtube视频。用户选择“共享”并显示一堆图标。我希望我的网络应用程序在那里,所以当用户选择其图标时,在浏览器中打开一个URL,其中有一个魔术参数传递视频URL,以便我可以处理。 2)嗯,你现在明白了这个想法:)

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

如果您的应用可以执行某项任务,并且您希望将该消息传达给所有其他应用,那么Android的方式就是 - Intent Filters(它告诉全世界该应用可以做什么) 意图 - Android的告诉方式 - 嘿,我想完成这项工作?

如果您构建的社交应用可以与用户的朋友分享消息或照片,那么您的应用应支持ACTION_SEND意图。因此,用户可以从其他应用启动“共享”操作并启动您的应用以执行操作。

要允许其他应用启动您的活动,您需要在清单文件中为相应元素添加元素。

如果您的活动同时处理ACTION_SEND和ACTION_SENDTO意图的文字和图片。在这种情况下,您必须为这两个操作定义两个单独的intent过滤器,因为ACTION_SENDTO intent必须使用数据Uri使用send或sendto URI方案指定收件人的地址。例如:

<activity android:name="ShareActivity">
    <!-- filter for sending text; accepts SENDTO action with sms URI schemes -->
    <intent-filter>
        <action android:name="android.intent.action.SENDTO"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:scheme="sms" />
        <data android:scheme="smsto" />
    </intent-filter>
    <!-- filter for sending text or images; accepts SEND action and text or image data -->
    <intent-filter>
        <action android:name="android.intent.action.SEND"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:mimeType="image/*"/>
        <data android:mimeType="text/plain"/>
    </intent-filter>
</activity>

此链接包含上述所有详细信息以及更多信息。

http://developer.android.com/training/basics/intents/filters.html