有几种方法可以连接到 Service to Activity。我只对本地服务感兴趣,我LocalService
会站在那里直到用户停止它(这也意味着应用程序的结束)。我可能知道错了,如果是,请纠正我。
在参考页面上,说明为了直接使用本地服务的方法,我们应该使用ServiceConnection
. 绑定后,我们可以有一个LocalService
类的引用,我们可以使用this的方法LocalService
。AFAIK 我们使用此参考调用的方法在具有相关活动的主线程上运行。
让我感到困惑的是,如果我使用骨架结构并LocalService
直接通过其静态引用(即 by LocalService.getInstance()
)访问 's 方法会怎样。好吧,我已经使用它并且没有遇到任何问题,但我仍然不确定哪个更好,以及为什么。
提前致谢。如果需要,我可能会添加其他信息。
编辑:在我之前提到的解决方案中,没有活动保留对LocalService
.
它用于
- 开始一些
LongRunningAsyncTasks
(在服务停止之前全部停止和引用无效), - 更新应用程序
Notification
, - 得到
getFilesDir()
, - 保留枚举值(其引用未保存在其他地方,它仅用于比较)以便从任何地方访问(不值得使用 SharedPreferences)。
- 举杯祝酒