android 后台处理事情_创建一个Android后台服务,该服务不断轮询REST API以获取数据...

我需要编写一个Android服务,轮询服务器以获取数据,解析数据,然后通过意图将其发送到应用程序.轮询必须经常进行(每隔几秒钟).根据我的阅读,不推荐这样的轮询(由于电池寿命问题).这是我第一次在Android上开发,经过大量的研究,有一些事情对我来说还不清楚.

我不确定服务,同步适配器或报警管理器是否更适合我的需求.在这个问题的背景下哪一个最有意义?

此服务需要在启动时启动并继续在后台运行.轮询服务器后,数据将通过意图发送到另一个应用程序.该服务应该完全没有用户交互.从我所看到的,似乎Android试图阻止人们因恶意软件问题而编写此类内容.有可能做到这一点吗?

解决方法:

首先,创建一个服务类,它将在给定的时间间隔后运行一个处理程序,

public class SyncService extends Service {

private Handler mHandler;

// default interval for syncing data

public static final long DEFAULT_SYNC_INTERVAL = 30 * 1000;

// task to be run here

private Runnable runnableService = new Runnable() {

@Override

public void run() {

syncData();

// Repeat this runnable code block again every ... min

mHandler.postDelayed(runnableService, Constant.DEFAULT_SYNC_INTERVAL);

}

};

@Override

public int onStartCommand(Intent intent, int flags, int startId) {

// Create the Handler object

mHandler = new Handler();

// Execute a runnable task as soon as possible

mHandler.post(runnableService);

return START_STICKY;

}

private synchronized void syncData() {

// call your rest service here

}

}

在syncData()方法内部放置您的REST API调用,该调用将在30秒间隔后调用.

关于启动时的服务启动,使用广播接收器,一旦启动完成就会触发服务,例如,

剩下的事情取决于你!请先尝试自己,然后再回来寻求帮助!

标签:android,android-service,android-syncadapter

来源: https://codeday.me/bug/20190623/1267794.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值