2

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

  1. 创建 ServiceConnection 指定绑定后要做什么[与服务对象]
  2. 使用 ServiceConnection 调用 bindService

但这需要每个活动至少调用一次 bindService。如果我只调用一次 bindService,将服务对象全局存储以允许不同的活动访问它会怎样?

这是不好的做法吗?为什么?

4

1 回答 1

1

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

mService = ((MyApplication)getApplicationContext()).getMyService();
于 2010-09-02T03:42:56.993 回答