AndroidManifest
<service android:name=".serviet.model.MyTimerService"></service>
第一步
public class ServiceActivity extends Activity {
@BindView(R.id.stop_bu)
Button stopBu;
@BindView(R.id.statr_bu)
Button statrBu;
public static TextView serviet_tv;
public static Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 1) {
serviet_tv.setText((String) msg.obj);
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_service);
ButterKnife.bind(this);
serviet_tv = (TextView) findViewById(R.id.serviet_tv);
// stop_bu.setOnClickListener(view ->{
// stopService(new Intent(ServiceActivity.this,MyTimerService.class));
// });
//
}
@OnClick({R.id.stop_bu, R.id.statr_bu})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.stop_bu:
stopService(new Intent(ServiceActivity.this, MyTimerService.class));
break;
case R.id.statr_bu:
startService(new Intent(ServiceActivity.this, MyTimerService.class));
break;
}
}
}
第二步
//后台定时执行 sercice请求 执行后的结果,怎么传递给前台Activity
public class MyTimerService extends Service {
Timer timer;
TimerTask task;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
timer = new Timer();
super.onCreate();
}
//开始服务
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
task = new TimerTask() {
@Override
public void run() {
Log.i("www", "222222222");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String str = sdf.format(new Date());
Message message = new Message();
message.what = 1;
message.obj = str;
ServiceActivity.handler.sendMessage(message);
}
};
timer.schedule(task, 0, 100);
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
timer.cancel();
super.onDestroy();
}
}