一、在mainActivity同一目录下建立echoservice,扩展自service,另外要在Androidmanifest里的application中添加上service,Androidstudio会帮你完成这一步
public class EchoService extends Service
二、之后再mainActivity中添加两个Button,startService和stopService,和之前添加代码的方法相同,不过这里绑定点击事件的方法与之前不同,这次是用了 View.OnClickListener接口,在mainActivity中写了onClick方法,用 switch配合 View.getID()方法来处理各个按钮的点击事件:
public class MainActivity extends AppCompatActivity implements View.OnClickListener
和打开一个新的Activity一样,实例一个
Intent对象:
serviceIntent = new Intent(this,EchoService.class);
用 startService()和 stopService()两个方法来控制 打开Service和 关闭Service:
public void onClick(View v){
switch (v.getId()){
case R.id.startService:
startService(serviceIntent);
break;
case R.id.stopService:
stopService(serviceIntent);
break;
}
}
三、最后在EchoService中复写Service生命周期的两个方法 onCreate()和 onDestroy(),用来标识Service的运行状态:
@Override
public void onCreate() {
System.out.println("onCreate");
startTimer();
super.onCreate();
}
@Override
public void onDestroy() {
System.out.println("onDestroy");
stopTimer();
super.onDestroy();
}
四、service在打开后,关闭Activity不会关闭service,要用stopService方法关闭或者在安卓系统的setting里关闭。