Android:后台线程和屏幕唤醒,在模拟器中工作而不在设备中

时间:2011-04-20 11:26:21

标签: android android-emulator background-process

在应用程序中,我有一个下载数据的后台线程,有时没有记录非常高。我们显示一个进度条来显示数据

假设我正在下载1000条记录,大约需要1至5分钟,具体取决于网络。下载过程正在进行时屏幕变为黑色,如果发生任何错误,它甚至不会通知。为了解决这个问题,我已经应用了这段代码

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

模拟器中会发生什么:我将屏幕时间设置为30秒,然后开始下载数据。目前我的网络很慢,下载持续了30分钟,但屏幕没有淡出。我仍然可以在屏幕上看到一切。

设备中会发生什么:[在三星i5700中测试] :屏幕超时设置为30秒。在模拟器中运行时,相同的代码没有运行。 30秒后屏幕变为黑色,设备被锁定。

我做错了什么不让代码按预期在设备上运行?或者,如果可能,还有其他事情需要明确处理吗?

1 个答案:

答案 0 :(得分:1)

您确定模拟器的屏幕不会因您的代码而褪色吗? 几天前,我发现如果“设备已插入AC”,仿真器将无法锁定屏幕。

尝试通过adb禁用AC连接(通过telnet连接并输入“power ac off”)。