Android - 如何在屏幕超时时写入文件

时间:2011-09-20 02:22:51

标签: android android-wake-lock

我们正在编写一个(行业特定的)应用程序来维护它自己的日志文件(我知道我们应该使用android日志,但出于商业目的,我们需要以非常特定的格式维护这个日志文件。)这个应用程序不是对于大众市场,用户将很清楚应用程序将遭受的电池消耗。

首先,应用程序的服务必须始终保持与服务器的连接。我们通过使用部分唤醒锁来实现这一目标,一旦屏幕时间结束,它就会按预期工作。

然而,我们的问题是,当屏幕时间结束时,我们的记录器模块停止写入位于外部存储器上的文件,一旦屏幕再次启动,记录器会在短时间后恢复。

我们知道应用程序没有被系统杀死(由于前台服务),因为当它重新启动时,一切都保持原样。 (重新启动会将我们带回另一个屏幕)

是否有其他方法可以强制系统将流保持打开状态?为什么我们持有的部分唤醒锁定不会这样做?

必须有一种方法可以随时写入文件。

2 个答案:

答案 0 :(得分:0)

没有看到代码,很难说。鉴于您的描述,部分唤醒锁定是最佳选择,它应该阻止CPU进入睡眠状态,以便您可以运行任何您喜欢的代码,只要您持有唤醒锁。从你的描述中,它听起来就像部分唤醒锁没有生效。检查代码以确保在设备显示器进入休眠状态时释放唤醒锁。

答案 1 :(得分:0)

这是特定于设备/平台的问题,因为随着时间的推移问题已经解决了!