一、概况
最近项目需要 每五分钟 向服务器发送心跳,在此整理,方便以后使用
二、实现
1.创建service文件
public class HeartbeatService extends Service implements Runnable {
private Thread mThread;
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
if (mThread == null) {//如果线程为空 则创建一条
mThread = new Thread(this);
mThread.start();
}
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return super.onStartCommand(intent, START_STICKY, startId);
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void run() {
// 开始执行后台任务
while (true) {
//在此添加执行代码
try {
Thread.sleep(5 * 60 * 1000);//线程睡眠五分钟
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
2.在manifests文件中注册服务
<!--发送心跳-->
<service
android:name=".service.HeartbeatService"
android:label="HeartbeatServer">
<intent-filter>
<action android:name="HeartbeatService" />
</intent-filter>
</service>
3.启动服务
startService(new Intent(this, HeartbeatsService.class));