1

我有一个主活动,它启动一个 IntentService 类 SchedulerWebSocketService.class

Intent webSockIntent = new Intent(getApplicationContext(), SchedulerWebSocketService.class);
startService(webSockIntent);

该服务运行一个 Web 套接字客户端。根据收到的消息,应用程序将解释消息,启动后台线程以开始新任务,例如拍照。主Activity包含各种参数,需要先传递给IntentService,然后再传递给新的可运行线程。

我知道我可以使用 putExtra 来传输一些对象,例如字符串。如何传递对当前 Activity 或其他自定义对象的引用,这些对象在主 Activity 和由 IntentService 启动的新线程之间共享?

当我调用 new Intent(...) 时,有没有办法以某种方式修改意图服务的构造函数并将参数传递给这个新构造函数?

4

1 回答 1

1

传递大对象的推荐方法是绑定到服务:一旦你这样做,你的 Activity 将可以访问实际的服务,你可以调用服务上的方法并传递对象。

于 2013-05-29T16:26:45.320 回答