AndroidManifest

第一步

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请求 执行后的结果,怎么传递给前台Activitypublic 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();    }}

更多相关文章

  1. Android(安卓)实现Activity后台运行
  2. Android(安卓)从后台进入前台
  3. Android(安卓)为什么主线程的looper 一直循环不会ANR
  4. android操作联系人Contacts
  5. kotlin 之 Android(安卓)AsyncTask
  6. 2020年了,Android后台保活还有戏吗?看我如何优雅的实现!
  7. 源码解析Android中View的layout布局过程
  8. 源码解析Android中View的layout布局过程
  9. 关于android内存管理的原理,及相关自动内存管理软件原理

随机推荐

  1. 使用Unity进行Android游戏开发
  2. Android更改桌面应用程序launcher的两种
  3. Android破解之Lic文件加密程序(首例)
  4. Android布局文件中的属性含义
  5. Android推送通知指南
  6. Android中自定义Dialog
  7. android 网络交互
  8. Android(安卓)Animation学习笔记
  9. [Android]关于android sqlite database存
  10. Android项目结构 以及体系结构