2010-07-14 167 views
1

哟大家好。如何响应浏览器的意图?

你知道当你从浏览器做选项/更多/共享页面吗?那么我希望我的一个活动出现在所有能够响应该浏览器意图的应用程序的菜单中。事情是我不知道如何编写清单中的意图过滤器。另外,如何访问数据,例如网页的网址和标题,这些数据应该是作为额外的意图添加的?

干杯

回答

2

我不能在此刻进行测试以确保但我认为你可以用下面的代码为SEND意图过滤器注册,那么你就应该显示为一个供应商。

<intent-filter android:label="@string/app_name"> 
    <action android:name="android.intent.action.SEND" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="text/plain" /> 
</intent-filter> 

,然后得到从演员文..

Intent callingIntent = getIntent(); 
String url = callingIntent.getStringExtra(Intent.EXTRA_TEXT); 

我也建议看documentation for ACTION_SEND看到支持的MIME类型和额外的键值对。

从ACTION_SEND文档:

输入:的getType()是正在发送的MIME类型的数据的。 get * Extra可以包含要发送的数据的EXTRA_TEXT或EXTRA_STREAM字段。如果使用EXTRA_TEXT,MIME类型应该是“text/plain”;否则它应该是EXTRA_STREAM中数据的MIME类型。如果MIME类型未知(这将只允许可以处理通用数据流的发件人),请使用/

可选标准附加项(可能由某些收件人根据需要进行解释)为:EXTRA_EMAIL,EXTRA_CC,EXTRA_BCC,EXTRA_SUBJECT。