繁体   English   中英

如何在 15 秒后从服务启动处理程序以防止应用程序进入睡眠状态并将位置发送到网络服务?

[英]how to start a handler from service after 15 second to prevent app from sleep and send location to webservice?

我正在开发 GPS 跟踪应用程序,我需要在 15 秒后跟踪位置。 我使用处理程序从 Service 类的 onStartCommand() 启动服务。 但在 15 秒后或一段时间后,它的处理程序并不总是执行。 我还使用了 WakeLock 来防止应用程序休眠。 如何克服这个问题?

简而言之:

new Handler().postDelayed(() -> { ... }, 15000);

操作(此处为 lambda)将在超时(15,000 毫秒)后执行。

展开它可能看起来像这样:

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        //Track my location
    }
}, 15_000);

使用Timer而不是Handler如下所示

new java.util.Timer().schedule(new java.util.TimerTask() {
            @Override
            public void run() {
                //do your task here
            }
        }, 15000);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM