【发布时间】:2012-11-12 20:04:05
【问题描述】:
我有一个为 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();
我也把这个放在布局文件里
android:keepScreenOn="true"
但是,应用程序的屏幕本身在整个测试过程中不可见,因为 Chrome 始终是前台窗口,并且浏览器启动器是一项服务,并且唤醒锁在该服务中。
知道如何防止屏幕超时吗?似乎没有任何效果。
【问题讨论】:
-
android:keepScreenOn="true"在您的情况下是无用的,因为只有当相关小部件在前台时才会影响设备,而您的不在前台。