通话的Andr​​oid服务定期[GoodApporach?] [英] Call Android Service at regular intervals [GoodApporach?]

查看:120
本文介绍了通话的Andr​​oid服务定期[GoodApporach?]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的要求是

Android的应用程序需要发送用户位置信息(纬度和放大器;经度)到服务器每隔一小时(这是可配置)

Android application has to send user location details(latitude & longitude) to the server for every one hour(which is configurable).

我也跟着用报警经理我在配置的时间间隔调用我的服务,将发送位置信息到服务器无论应用程序是否正在运行的方法。

The approach I followed is using the alarm manager i am invoking my service at configured intervals which will send the location details to server irrespective of whether the application is running.

这是一个很好的方法?

推荐答案

我preFER ScheduledExecutorService的,因为它是后台任务更加容易。

I prefer ScheduledExecutorService, because it is easier for background Tasks.

AlarmManager:

报警管理器,只要报警接收机的的onReceive()方法执行持有CPU唤醒锁。这可以保证手机不会睡觉,直到你已经处理完播出。一旦的onReceive()返回时,报警管理器释放该唤醒锁。

的ScheduledThreadPoolExecutor:

您可以使用java.util.Timer中或的ScheduledThreadPoolExecutor(preferred)安排一个动作定期在后台线程上发生。

您可以看到完整的答案在这里=> 哪个好ScheduledExecutorService的或AlarmManager在android系统?与<一个HREF =htt​​p://stackoverflow.com/a/14377875/3884250>这里

You can see complete answer here => Which is Better ScheduledExecutorService or AlarmManager in android? And Here

    ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
    scheduler.scheduleAtFixedRate(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
           // Hit WebService
        }
    }, 0, 1, TimeUnit.HOURS);

这篇关于通话的Andr​​oid服务定期[GoodApporach?]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆