創建一個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並通信