通过全局对象访问Android服务

通过全局对象访问Android服务,android,android-service,Android,Android Service,我有一个简单的服务,我的一些活动需要访问它。标准方法似乎是: 创建ServiceConnection以指定绑定[与服务对象]后要执行的操作 使用ServiceConnection调用bindService 但这要求每个活动至少调用一次bindService。如果我只调用bindService一次,全局存储服务对象以允许不同的活动访问它,会怎么样 这是坏习惯吗?为什么?您可以扩展应用程序,让它保留对服务的引用,然后在活动中将getApplicationContext()强制转换为新类,并使用公共A

我有一个简单的服务,我的一些活动需要访问它。标准方法似乎是:

  • 创建ServiceConnection以指定绑定[与服务对象]后要执行的操作
  • 使用ServiceConnection调用bindService
  • 但这要求每个活动至少调用一次bindService。如果我只调用bindService一次,全局存储服务对象以允许不同的活动访问它,会怎么样


    这是坏习惯吗?为什么?

    您可以扩展应用程序,让它保留对服务的引用,然后在活动中将getApplicationContext()强制转换为新类,并使用公共API获取服务

    mService = ((MyApplication)getApplicationContext()).getMyService();