我有我的主要活动,并且我有一项服务(当应用程序关闭时,它甚至会在后台运行)。我想从活动和服务中写入同一个文件。什么是实现这一目标的正确方法(设计明智)?
一个解决方案是让一个全局变量告诉我服务当前是否在写或者Activity是否正在执行它(所以我最终不会打开文件两次)。另一种方法是将服务绑定到活动,活动只能通过调用服务上的方法
来写入文件赞赏任何想法
由于
答案 0 :(得分:0)
这是在服务中编写文件的更好方法,您的流程将如下所示如果我了解您的问题,我猜 开始申请 活动 - >提供有关将文件写入服务的信息 - >开始服务 - >写文件 - >将brodcast发送到您的应用程序
写一个广播接收器 - >它在文件写完后收到你的广播。
答案 1 :(得分:0)
如果不直接从Activity
编写文件会更好,因为这可能会导致与Service
的并发冲突。如果您从Service
请求Activity
将某些内容写入该文件,那会更好。
Activity
< ------>Service
< ------->File
在Service
内创建一个方法并在Activity
中使用所需/所需参数调用它,这可以避免冲突,因为只有Service
会写入{{ 1}}。