小编Ale*_*kov的帖子

类似于startActivityForResult for Service

尽管问了类似的问题,但我有不同的情况:我的应用程序主要由背景组成Service.我想开始外部活动并取回结果.

我看到几个选项:

  1. 创建虚拟Activity并保持对它的引用以使用它startActivityForResult.据我们所知,这会占用大量内存.

  2. 使用Broadcast Intents而不是Android的结果基础架构:要求客户端活动在关闭之前广播其结果.这种打破了这个想法而不是那么高效.

  3. Instrumentation直接使用- 尝试将startActivityForResult中的代码复制到我的服务中.

  4. 使用服务接口 - 序列化并添加AIDL与Intent的连接以启动活动.在这种情况下,Activity应该直接调用Service而不是提供结果.

第三种方法让我感觉更接近Android,但我不确定它是否可行 - 服务没有它的Instrumentation,并且默认实现似乎总是返回null.

也许你还有其他想法吗?

android

13
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×1