gpt4 book ai didi

android - LocationManager requestLocationUpdates 和 android 中的 timertask

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:23 25 4
gpt4 key购买 nike

我有以下代码:

if (gps_enabled) {
Log.e("$$$$$$$$$$$$$$",
"GPS is enabled requestion location updates... interval value is: "
+ interval);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
locationListenerGps);
}
else{
if (network_enabled) {
Log.e("$$$$$$$$$$$$$$",
"Network is enabled requestion location updates... interval value is: "
+ interval);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0,
0, locationListenerNetwork);
}
}

使用该代码我可以获得位置(至少使用网络提供商!(另一篇文章的另一个问题))我想定期收到通知,比如每隔一小时收到一次通知,但是将参数传递给 requestLocationUpdates 并不能保证会保持该间隔(至少我的测试显示了这一点,因为我希望每分钟更新一次,但得到了很多更新而不是一个!)所以我想到了使用 timerTask 并安排它,我现在有

timer1.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
getLocation();
}

}, 0, 180000);// 3 minutesr...

其中 getLocation 是我之前调用的方法,但是当计时器调用该方法时没有任何反应,日志在此时停止

Log.e("$$$$$$$$$$$$$$",
"Network is enabled requestion location updates... interval value is: "
+ interval);

而且我从来没有收到关于我的位置的通知。有什么想法吗?

最佳答案

好吧,我花了一段时间,但我找到了解决方案,因为文档说你只能从循环线程请求位置管理器的位置更新,这意味着当调用计时器任务时,你必须获得一个消息并将消息发送给处理程序,处理程序将负责请求位置更新。

关于android - LocationManager requestLocationUpdates 和 android 中的 timertask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3589963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com