2015-01-01 135 views
2

我在这找不到任何东西。我阅读了有关协议/内容处理程序的所有内容,但似乎没有解决我的问题。如何使用网络应用程序共享移动内容?

我试图找到一种方法来允许Android用户(例如)使用Web应用程序共享内容。

示例:

1)在本地应用程序中查看Youtube视频。用户选择“分享”,并出现一堆图标。我希望我的网络应用程序在那里,所以当用户选择它的图标时,浏览器中会打开一个URL,并通过魔术参数传递视频URL,以便我可以处理它。 2)那么,你现在的想法:)

任何想法?

谢谢。

回答

0

如果您的应用程序可以做一些任务,并且希望该消息被输送到所有其他应用程序,这样做的Android的方式是 - 意向过滤器(它告诉世界什么样的应用程序可以做) 意图 - Android的方式告诉 - 嘿,我想完成这项工作?

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

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

如果您的活动同时处理ACTION_SEND和ACTION_SENDTO意图的文本和图像。在这种情况下,您必须为两个操作定义两个单独的意图过滤器,因为ACTION_SENDTO意图必须使用数据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

+2

我说的是一个Web应用程序,而不是一个原生的Android应用程序...这并不能帮助我。 – demian85

相关问题