可以在 Application 而不是 Activity 上调用 startService 吗?
Is it ok to invoke startService on Application rather than Activity?
基本上,标题,还要注意,这将用于前台服务。这个选择有什么影响吗?谢谢。
例如当你做
context.startService(new Intent(context, MyService.class));
当你这样做时也是如此
context.bindService(new Intent(context, MyService.class), serviceConnection, Context.BIND_AUTO_CREATE);
和
context.unbindService(serviceConnection);
如果上面的 context
变量是应用程序而不是 Activity。
这是一个前台服务。是否有任何 ill-effects 或不在应用程序上调用这些方法的原因?
谢谢。
任何 Context
都适用于这些操作。如果您觉得合适,欢迎您使用 Application
。事实上,对于 bindService()
和 unbindService()
,强烈建议使用 Application
而不是 Activity
,以便能够在配置更改时保持绑定。
我能想到的唯一限制是,我很确定您需要在调用 bindService()
.[=19 的同一 Context
上调用 unbindService()
=]
基本上,标题,还要注意,这将用于前台服务。这个选择有什么影响吗?谢谢。
例如当你做
context.startService(new Intent(context, MyService.class));
当你这样做时也是如此
context.bindService(new Intent(context, MyService.class), serviceConnection, Context.BIND_AUTO_CREATE);
和
context.unbindService(serviceConnection);
如果上面的 context
变量是应用程序而不是 Activity。
这是一个前台服务。是否有任何 ill-effects 或不在应用程序上调用这些方法的原因?
谢谢。
任何 Context
都适用于这些操作。如果您觉得合适,欢迎您使用 Application
。事实上,对于 bindService()
和 unbindService()
,强烈建议使用 Application
而不是 Activity
,以便能够在配置更改时保持绑定。
我能想到的唯一限制是,我很确定您需要在调用 bindService()
.[=19 的同一 Context
上调用 unbindService()
=]