Android 安卓;“放慢速度”;当屏幕关闭时
我正在开发一款应用程序,每30秒就在互联网上发布一次。在屏幕关闭之前,一切正常。计时器似乎慢了下来。发帖大约需要5分钟。我试过获取wake lock和setforegroundactivity,但没有任何效果。有什么想法吗 它作为一项服务运行,我将其用于wake lock:Android 安卓;“放慢速度”;当屏幕关闭时,android,service,Android,Service,我正在开发一款应用程序,每30秒就在互联网上发布一次。在屏幕关闭之前,一切正常。计时器似乎慢了下来。发帖大约需要5分钟。我试过获取wake lock和setforegroundactivity,但没有任何效果。有什么想法吗 它作为一项服务运行,我将其用于wake lock: PowerManager mgr = (PowerManager)this.getSystemService(Context.POWER_SERVICE); WakeLock wakeLock = mgr.newWakeLo
PowerManager mgr = (PowerManager)this.getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire();
这里的示例是设置前景:
我也试着用调试器检查它能做什么,但是当USB连接时一切都正常
更多详情:
为了定期检查,我使用以下方法:
Private void startCheck() {
mCheckHandler.sleep(30000);
}
private CheckHandler mCheckHandler = new CheckHandler();
private class CheckHandler extends Handler {
@Override
public void handleMessage(Message msg) {
Pservice.this.startCheck();
}
public void sleep(long delayMillis) {
this.removeMessages(0);
sendMessageDelayed(obtainMessage(0), delayMillis);
}
};
我将它设置为每次检查互联网时获取唤醒锁。现在工作正常:)感谢您的帮助:)当屏幕关闭时,设备最终将进入低功耗状态。这种低功耗状态基本上意味着您的代码将不会被执行。之所以需要5分钟,是因为其他应用程序正在唤醒设备,然后你的应用程序有机会再次运行 通过USB连接设备,可以防止出现低功耗状态
听起来好像你的唤醒锁实际上没有被获取,或者释放得太快。你在其他设备、ROM、模拟器上测试过吗?有时,一个简单的设备制造商的代码问题会导致类似的问题
您使用的是什么设备和rom?当屏幕关闭时,我会在我的android设备上设置时钟 此外,你提到: 我也试着用调试器检查它能做什么,但是当USB连接时一切都正常
尝试在不使用USB电源的情况下进行调试,或者只使用日志记录。手机没有心情耗尽电池电量/有用的评论(说真的,这太模糊了。更具体地说你是怎么做的,用小的代码示例来说明-否则我们只能猜测)你给出的链接和代码与你的问题无关。请提供更多详细信息。我将其设置为在每次检查互联网时获取唤醒锁。现在它工作得很好:)谢谢你的帮助:)