我有一个应用程序,它将通过“共享页面”菜单项接受来自内置Web浏览器的URL。我正在使用发送意图,它工作得很好。但是,我想接受一个URL并在后台处理它,而不会将我的应用程序放在前面。我不希望用户必须实际离开Web浏览器。它将通过Toast消息通知用户已完成URL处理。我只是不确定应该使用什么类型的活动。
这种行为的一个很好的例子是Android市场中的“Read Later”instapaper应用程序。任何帮助将不胜感激。
答案 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)
您应该实施后台服务,该服务在处理完网址后通知您的应用程序。