创建一个Service
右键--new--service
创建一个service
在MainActiviy中
//启动 findViewById(R.id.btnService).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startService(new Intent(MainActivity.this,MyService.class)); } }); //停止(服务的实例在操作系统中只有一个) findViewById(R.id.btnService).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { stopService(new Intent(MainActivity.this,MyService.class)); } });在service中
//执行startService时会执行 @Override public int onStartCommand(Intent intent, int flags, int startId) { new Thread(){ @Override public void run(){ super.run(); System.out.println("服务正在运行"); while (true){ try { sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }.start(); return super.onStartCommand(intent, flags, startId); }
绑定service(也会创建)
bindService(new Intent(MainActivity.this, MyService.class), this, Context.BIND_AUTO_CREATE);
在service文件中设置
@Override public IBinder onBind(Intent intent) { return new Binder(); }
解绑service(destroy)
unbindService(this);
activity与service的通信
启动service并通信
在startService中添加
Intent i = new Intent(this,MyService.class); i.putExtra("data","from activity");
然后在service的启动代码中获取
intent.getStringExtra("data");
绑定service并通信