分享链接 - 在后台执行操作

时间:2010-03-21 13:46:38

标签: java android

我有一个应用程序,它将通过“共享页面”菜单项接受来自内置Web浏览器的URL。我正在使用发送意图,它工作得很好。但是,我想接受一个URL并在后台处理它,而不会将我的应用程序放在前面。我不希望用户必须实际离开Web浏览器。它将通过Toast消息通知用户已完成URL处理。我只是不确定应该使用什么类型的活动。

这种行为的一个很好的例子是Android市场中的“Read Later”instapaper应用程序。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

AFAIK,ACTION_SEND仅适用于活动,不适用于服务。因此,您需要创建一个共享内容的活动。但是,如果您所做的只是显示Toast而没有实际的活动用户界面,则可以使用Theme.NoDisplay来禁止显示其他空的活动用户界面:

<activity android:name="TwitterSender"
        android:label="@string/sender_name"
        android:theme="@android:style/Theme.NoDisplay">
    <intent-filter android:label="@string/sender_name">
        <action android:name="android.intent.action.SEND" />
        <data android:mimeType="text/plain" />
        <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter>
</activity>

您可以在one of my book samples中看到此技术的完整示例。

答案 1 :(得分:1)

您应该实施后台服务,该服务在处理完网址后通知您的应用程序。