Android与服务进程内通信
電話(huà)錄音服務(wù)只是內(nèi)部進(jìn)行錄音以及調(diào)用PhoneManager對(duì)象。許多時(shí)候服務(wù)在處理業(yè)務(wù)后需要和其它程序進(jìn)行通信。.startService()和stopService()適用于調(diào)用者和服務(wù)者之間沒(méi)有交互的情況,否則應(yīng)該適用bindSerivce()和unbindService()方法
?
調(diào)用bindService()方法時(shí):
1.?????? 服務(wù)若沒(méi)有創(chuàng)建
s.onCreate()--às.onBind()-à服務(wù)于訪(fǎng)問(wèn)者綁定在一起
如果訪(fǎng)問(wèn)者退出:
s.onUnBind()às.onDestroy();
2.服務(wù)已經(jīng)創(chuàng)建
不會(huì)導(dǎo)致調(diào)用多次服務(wù)的創(chuàng)建(onCreate()和綁定(onBind()),如若解除綁定可調(diào)用unbindService()方法,系統(tǒng)同樣會(huì)調(diào)用服務(wù)的onUnbind()-àonDestory()方法。
?
onBind()只有調(diào)用bindService()方法才會(huì)觸發(fā)方法的調(diào)用,如果服務(wù)已經(jīng)被綁定,該方法不會(huì)執(zhí)行多次
?
onUnbind()方法只有調(diào)用unbindService()方法才會(huì)導(dǎo)致該方法的執(zhí)行。
?
電話(huà)錄音服務(wù)只是在服務(wù)內(nèi)部進(jìn)行錄音以及調(diào)用PhoneManager對(duì)象,許多時(shí)候服務(wù)在處理業(yè)務(wù)后,需要和其它程序進(jìn)行通信.startService()和stopservice()使用使用者和服務(wù)之間沒(méi)有交互的情況,否則應(yīng)該使用bindService()和unbindService()方法。
?
調(diào)用bindService()方法時(shí):
1.?????? 服務(wù)若沒(méi)有創(chuàng)建
s.onCreate()-às.onBind()-à服務(wù)于訪(fǎng)問(wèn)者綁定在一起。
如果訪(fǎng)問(wèn)者退出:
s.onUnBind()-às.onDestroy();
2.服務(wù)已經(jīng)創(chuàng)建
不會(huì)導(dǎo)致調(diào)用多次服務(wù)的創(chuàng)建(onCreate())和綁定(onBind()),如果解除綁定可調(diào)用unbindService()方法,系統(tǒng)同樣會(huì)調(diào)用服務(wù)的onUnbind()-àonDestroy()方法。
?
onBind()只有調(diào)用bindService()方法才會(huì)觸發(fā)該方法的調(diào)用。如果服務(wù)已經(jīng)被綁定,該方法不會(huì)被執(zhí)行多次。
?
onUnbind()方法只有調(diào)用unbindService()方法才會(huì)導(dǎo)致該方法的執(zhí)行。
?
客戶(hù)端和服務(wù)通過(guò)Ibinder對(duì)象聯(lián)系在一起。bindService()方法調(diào)用時(shí),需要Intent,ServiceConnection和flag參數(shù),其中serviceConnection對(duì)象用于接收服務(wù)onBind()方法,返回的Ibinder對(duì)象,并且該對(duì)象會(huì)傳入到第二個(gè)參數(shù)serviceConnection對(duì)應(yīng)的方法中,觸發(fā)方法的回調(diào),總而言之,使用客戶(hù)端持有到達(dá)service對(duì)象的引用。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的Android与服务进程内通信的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 再婚三胎可以报生育险吗
- 下一篇: 生产过程需明确!原油的生产成本影响原油期