Service没有用户界面,运行与后台。一般用于给前台Activity提供特定服务。服务不能自己运行,启动Service的方式有两种:Context.startService 或 Context.bindService。
(一)startService
(二)bindService
注意:
1)如果第一次调用startService(), 系统会onCreate()->onStart();此时调用bindService, 只会onBind();如果第一次调用bindService(), 系统会onCreate()->onBind();此时调用startService, 只会onStart();
2)如果start和bind都调用了, 那么一旦服务被绑定(只要成功调用了bindService, 不管是先start后bind还是后bind先start), 就必须调用unbindService和stopService(先unbindService(导致onUnbind())再stopService(导致onDestroy()), 或者先stopService再unbindService(导致onUnbind()->onDestroy())都行)才能终止服务。