品牌查询网站,指数是指什么,咸阳做网站xymokj,微信连接微网站吗服务#xff08;Service#xff09; 是一种在后台运行#xff0c;没有界面的组件#xff0c;由其他组件调用开始。Android 中的服务和 Windows 中的服务是类似的东西#xff0c;它运行于系统中不容易被用户发觉#xff0c;可以使用它开发如监控之类的程序。 服务#xf…服务Service 是一种在后台运行没有界面的组件由其他组件调用开始。Android 中的服务和 Windows 中的服务是类似的东西它运行于系统中不容易被用户发觉可以使用它开发如监控之类的程序。 服务Service的实现 1. 定义类继承 Service重写 onCreate()、 onStart(Intent intent, int startId)、 onBind(Intent intent)、 onUnbind(Intent intent)、onDestroy() 中需要的方法。 2. 在清单文件的 application 节点下声明 service。  applicationandroid:icondrawable/ic_launcherandroid:labelstring/app_nameandroid:themestyle/AppTheme activityandroid:name.MainActivityandroid:labelstring/title_activity_main intent-filteraction android:nameandroid.intent.action.MAIN /category android:nameandroid.intent.category.LAUNCHER //intent-filter/activityservice android:name.MyService /service
/application  服务不能自己运行需要通过调 用 Context.startService() 或 Context.bindService() 方法启动服务。这两个方法都可以启动 Service但是它们的使用场合有所不同。使用 startService() 方法启用服务访问者与服务之间没有关联即使访问者退出了服务仍然运行。使用 bindService() 方法启用服务访问者与服务绑定在了一起访问者一旦退出服务也就终止。采用 Context.startService() 方法启动服务只能调用 Context.stopService() 方法结束服务服务结束时会调用 onDestroy() 方法。【注意服务的生命周期方法都是在主线程执行所以不能直接在服务里面做耗时操作做如果需要做耗时操作应该在服务里面开启子线程。】 通过 startService() 和 stopService( ) 启动和关闭服务。适用于服务和访问者之间没有交互的情况。如果服务和访问者之间需要方法调用或者传递参数则需要使用 bindService() 和 unbindService() 方法绑定和解绑服务。 采用 Context.bindService() 方法启动服务在服务未被创建时系统会先调用服务的 onCreate() 方法接着调用 onBind() 方法这个时候访问者和服务绑定在一起。 如果访问者要与服务进行通信那么onBind() 方法必须返回 Ibinder 对象。如果访问者退出了系统就会先调用服务的 onUnbind() 方法接着调用 onDestroy() 方法。如果调用 bindService() 方法前服务已经被绑定多次调用 bindService() 方法并不会导致多次创建服务及绑定也就是 说 onCreate() 和 onBind() 方法并不会被多次调用。如果访问者希望与正在绑定的服务解除绑定可以调用 unbindService() 方法调用该方法也会导致系统调用服务的 onUnbind() → onDestroy() 方法。 服务Service的生命周期服务的生命周期与启动服务的方法有关  当采用 Context.startService() 方法启动服务生命周期如下onCreate() → onStart() → onDestroy() onCreate() 该方法在服务被创建时调用该方法只会被调用一次无论调用多少次 startService() 或 bindService() 方法服务也只被创建一次。onStart() 只有采用 Context.startService() 方法启动服务时才会回调该方法该方法在服务开始运行时被调用。多次调用 startService() 方法尽管不会多次创建服务但 onStart() 方法会被多次调用。onDestroy() 该方法在服务被终止时调用。 当采用 Context.bindService() 方法绑定服务生命周期如下onCreate() → onBind() → onUnbind() → onDestroy() onBind() 只有采用 Context.bindService() 方法启动服务时才会回调该方法。该方法在调用者与服务绑定时被调用当调用者与服务已经绑定多次调用 Context.bindService() 方法并不会导致该方法被多次调用。onUnbind() 只有采用 Context.bindService() 方法绑定服务后解绑服务时才会回调该方法。该方法在调用者与服务解除绑定时被调用。 如果先采用 startService() 方法启动服务,然后调用 bindService() 方法绑定到服务再调用 unbindService() 方法解除绑定最后调用 bindService() 方法再次绑定到服务生命周期如下onCreate() → onStart() → onBind() → onUnbind()[重载后的方法需返回true] → onRebind()