欢迎来到天天文库
浏览记录
ID:34725692
大小:52.20 KB
页数:6页
时间:2019-03-10
《service组件详解告别unabletostartserviceintent》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Service组件详解,告别UnabletostartserviceIntent!很多人在使用service的过程中由于一些细节的问题导致UnabletostartserviceIntent,在此,我搜集了一下service的一些资料,和大将共享...下次大家再遇到这样的错误,相信就能迎刃而解了.!let'sgo!1.Service是什么Service是Android的四大组件之一,即Android系统的服务(不是一个线程,是主程序的一部分),与Activity不同,它是不能与用户交互的,不能自己启动的,需要调用Context.startService()来启动,运行后台,如
2、果我们退出应用时,Service进程并没有结束,它仍然在后台行。比如我们播放音乐的时候,有可能想边听音乐边干些其他事情,当我们退出播放音乐的应用,如果不用Service,我们就听不到歌了,所以这时候就得用到Service了。2.Service生命周期①onCreate()创建Service②onStart(Intentintent,intstartId)启动Service③onDestroy()销毁Service④onBind()返回一个IBinder接口对象给Service3.启动和停止Service①启动:startService(Intentintent)来启动Serv
3、ice,这时Service会调用自身的onCreate()方法(该Service未创建),接着调用onStart()方法。②停止:stopService(Intentintent)来停止Service,这时Service会调用自身的onDestory()方法。4.绑定Service调用bindService(Intentservice,ServiceConnectionconn,intflags)来绑定一个Service,这时Service会调用自身的onCreate()方法(该Service未创建),接着调用onBind()方法返回客户端一个IBinder接口对象。(注意:
4、如果返回null,ServiceConnection对象的方法将不会被调用)参数①service:Intent对象。参数②conn:ServiceConnection对象,实现其onServiceConnected()和onServiceDisconnected()在连接成功和断开连接时处理。参数③flags:Service创建的方式,一般用Service.BIND_AUTO_CREATE表示绑定时自动创建。示例代码:MainActivity用来操作Service1.publicclassMainActivityextendsActivity{2.privateButtons
5、tartBtn;3.privateButtonstopBtn;4.privateButtonbindBtn;5.privateButtonunBindBtn;6.privatestaticfinalStringTAG="MainActivity";7.privateLocalServicemyService;8.@Override9.publicvoidonCreate(BundlesavedInstanceState){10. super.onCreate(savedInstanceState);11. setContentView(R.layout.main);12.
6、 startBtn=(Button)findViewById(R.id.start);13. stopBtn=(Button)findViewById(R.id.stop);14. bindBtn=(Button)findViewById(R.id.bind);15. unBindBtn=(Button)findViewById(R.id.unbind);16. startBtn.setOnClickListener(newMyOnClickListener());17. stopBtn.setOnClickListener(newMyOnClickListene
7、r());18. bindBtn.setOnClickListener(newMyOnClickListener());19. unBindBtn.setOnClickListener(newMyOnClickListener());20.}21.classMyOnClickListenerimplementsOnClickListener{22. @Override23. publicvoidonClick(Viewv){24. Intentintent=newIntent();25. i
此文档下载收益归作者所有