可以在Application而不是Activity上调用startService吗?

时间:2015-01-20 16:42:37

标签: java android google-api android-service

基本上,标题也注意到这将用于前台服务。这个选择有什么影响吗?谢谢。

E.g。当你做的时候

context.startService(new Intent(context, MyService.class));

以及类似的时候

context.bindService(new Intent(context, MyService.class), serviceConnection, Context.BIND_AUTO_CREATE);

context.unbindService(serviceConnection);

如果上面的context变量是应用程序而不是活动。 这是前台服务。是否存在不在应用程序上调用这些方法的不良影响或原因?

感谢。

1 个答案:

答案 0 :(得分:1)

任何Context都适用于这些操作。如果您觉得合适,欢迎使用Application。事实上,对于bindService()unbindService(),强烈建议使用Application而不是Activity,以便能够在配置更改中保持绑定。

我能想到的唯一限制是,我确定您需要在unbindService() Context的同一bindService()上致电{{1}}。