Intent
我正在为我创建一个Service
:
_myServiceIntent = new Intent(this, typeof(MyServiceCls));
这有效,但MyServiceCls
有依赖关系。我有什么办法可以将它们传递给MyServiceCls
而不是在默认构造函数中创建它们的实例?
Intent
我正在为我创建一个Service
:
_myServiceIntent = new Intent(this, typeof(MyServiceCls));
这有效,但MyServiceCls
有依赖关系。我有什么办法可以将它们传递给MyServiceCls
而不是在默认构造函数中创建它们的实例?
向服务发送数据的最简单方法是通过意图,但这意味着参数是序列化/打包的,因此无济于事......
我看到了两种方法:
复杂的解决方案:您可以使用远程信使创建绑定服务;连接服务后,您可以向 Incominghandler 发送Message
您需要的每个引用。但是再想一想,我相信这将序列化对象并且服务可能会获得另一个实例......所以,也许简单的解决方案最适合您:
简单的解决方案:为什么不使用 IoC(控制反转)机制?您可以集成RoboGuice、AndroidAnnotations或Dagger。
2.1 如果你不想(现在不是时候)集成以上API,你可以在项目中有一个单例类来保存你需要的实例,你可以初始化这个类Application.onCreate()
,延迟加载(或不)您需要的对象并为每个对象提供吸气剂。然后在您的服务中,您从单例类中为您需要的每个对象调用 call get 。