Android 同一个Service已经启动再多调用startService
来源:互联网 发布:手机相片制作软件 编辑:程序博客网 时间:2024/06/05 02:34
1.Context.startService()方式启动 ①Context.startService()方式的生命周期: 启动时,startService –> onCreate() –> onStart()停止时,stopService –> onDestroy()如果调用者直接退出而没有停止Service,则Service 会一直在后台运行 Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法附代码2.Context.bindService()方式启动:①Context.bindService()方式的生命周期: 绑定时,bindService -> onCreate() –> onBind()调用者退出了,即解绑定时,Srevice就会unbindService –>onUnbind() –> onDestory()Context.bindService()方式启动 Service的方法:绑定Service需要三个参数:bindService(intent, conn, Service.BIND_AUTO_CREATE);第一个:Intent对象第二个:ServiceConnection对象,创建该对象要实现它的onServiceConnected()和 onServiceDisconnected()来判断连接成功或者是断开连接第三个:如何创建Service,一般指定绑定的时候自动创建附代码如果我们想保持和 Service 的通信,又不想让 Service 随着 Activity 退出而退出呢?你可以先 startService() 然后再 bindService() 。当你不需要绑定的时候就执行 unbindService() 方法,执行这个方法只会触发 Service 的 onUnbind() 而不会把这个 Service 销毁。这样就可以既保持和 Service 的通信,也不会随着 Activity 销毁而销毁了。
如果一个 Service 已经被启动,其他代码再试图调用 startService() 方法,是不会执行 onCreate() 的,但会重新执行一次 onStart()
在 sdk 2.0 及其以后的版本中,对应的 onStart 已经被否决变为了 onStartCommand,不过之前的 onStart 任然有效。这意味着,如果你开发的应用程序用的 sdk 为 2.0 及其以后的版本,那么你应当使用 onStartCommand 而不是 onStart。
0 0
- Android 同一个Service已经启动再多调用startService
- Android四大组件Service之StartService启动
- Android中的Service(使用StartService 方式启动)
- Android Service 之启动服务( startService() )
- Service的启动--startService
- Service启动流程-startService
- android Service(一) activity启动Service方式一:startService()
- android service 之startService(...)
- Android -- service两种启动方式startService与bindService
- Android启动Service的两种方式之startService()
- Android 中 startService()启动service的过程分析
- Android Service 同时使用bindservice和startservice启动的问题
- Android-服务Service(1)-介绍及startService调用
- Service启动方式之startService
- Service的启动(startService)
- Service启动方式之startService
- 使用startService方式启动Service
- Android 检查Service是否已经启动
- SWIG 和 Python——c/c++与脚本交互
- android 微信热修复Tinker接入过程以及使用方法
- BaseAdapter的三重境界,逗比式,普通式,文艺式
- 在多人同时登陆服务器的情况下单个用户被踢掉其桌面程序是否会关闭的问题
- 【图】犯罪团伙
- Android 同一个Service已经启动再多调用startService
- A gentle introduction to Tao.OpenGl using SimpleOpenGlControl.
- python中的排序
- POJ 1755 Triathlon I
- linux下安裝sougou拼音
- WebGL笔记 第二章 着色器
- CodeForces 126B Password 【kmp】
- 笔记
- MATLAB排列组合函数--nchoosek