我现在正在编写一个收集传感器数据的程序,例如一整天的加速度计值。
Current 我只是使用一个 Activity 并运行该 Activity 一整天(我关闭屏幕自动黑屏),白天不发任何短信或电话。
我听说我可以使用 Service 在后台制作这种长时间运行的数据收集器。但是在我检查了 http://code.google.com/p/pedometer/ 的计步器之后.我发现,当屏幕变黑时,计步器不工作。 (但是只要电源打开,像 predometer 这样的应用程序在任何情况下都应该可以工作。)
虽然我不关心总是感应加速度计的电源问题,我确实想把屏幕关掉以节省屏幕的电量以记录更多的加速度计数据点。
我在想两种方式:
1.但是,如计步器应用程序所示,使用服务。当屏幕变黑时,服务似乎也停止工作了!也许代码有错误。
2.我的应用程序仍然是一个 Activity 。但是我将 scrren 灯更改为 0 或全黑以节省电量。
我的问题是:对于1)一个服务是否有能力在屏幕长时间黑屏的情况下一直运行;对于2,如何改变屏幕灯?
谢谢!
最佳答案
关于 1 - 您需要的是远程服务。这是一个与“本地”服务(在计步器示例中使用的)几乎相似的服务,但即使没有 Activity 绑定(bind)到它也可以在后台运行。您可以关闭屏幕,甚至 Activity 也可能崩溃(在糟糕的情况下 ;)),但如果您使用 startService(...) 而不是 bindService(...) 启动它,服务将继续运行。
试着打通this看看是否有帮助。
关于 2 - 你真的应该使用 (1) ;)
关于android - Android中的后台传感器数据收集器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4416141/