0

我有一个为 Android 编写的简单电池测试应用程序,现在已成功用于多个版本。它在 Android 4.1 中运行良好 该应用程序只需将 chrome 浏览器启动到不同的网站,将时间记录到数据库中,等待 60 秒,然后重新开始。

现在,在 Android 4.2 中,屏幕关闭并且系统进入睡眠状态,尽管我有一个唤醒锁并将屏幕超时设置为从不使用设置。最烦人的是它在不确定的时间关闭,而不是在开始测试后的固定时间。知道我需要做什么吗?

这是我在一遍又一遍地启动浏览器的服务中调用的唤醒锁代码。

    super.onCreate();
    // Wakelock
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Tag");
    wl.acquire();

我也把它放在布局文件中

机器人:keepScreenOn="真"

但是,在整个测试过程中,应用程序的屏幕本身并不可见,因为 Chrome 始终是前台窗口,并且浏览器启动器是一项服务,而唤醒锁在服务中。

知道如何防止屏幕超时吗?似乎没有任何效果。

4

2 回答 2

2

只需将以下行添加到您的 XML 文件中......

机器人:keepScreenOn="真"

:)

于 2013-01-22T18:30:53.927 回答
0

我猜Android正在杀死您的服务并导致您的唤醒锁被释放。尝试让您的服务在前台运行(使用startForeground()),看看是否有帮助。

于 2012-11-24T23:08:48.530 回答