Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android與服務進程內通信

Android與服務進程內通信

編輯:關於Android編程

電話錄音服務只是內部進行錄音以及調用PhoneManager對象。許多時候服務在處理業務後需要和其它程序進行通信。.startService()和stopService()適用於調用者和服務者之間沒有交互的情況,否則應該適用bindSerivce()和unbindService()方法

 

調用bindService()方法時:

1.       服務若沒有創建

s.onCreate()--às.onBind()-à服務於訪問者綁定在一起

如果訪問者退出:

s.onUnBind()às.onDestroy();

2.服務已經創建

不會導致調用多次服務的創建(onCreate()和綁定(onBind()),如若解除綁定可調用unbindService()方法,系統同樣會調用服務的onUnbind()-àonDestory()方法。

 

onBind()只有調用bindService()方法才會觸發方法的調用,如果服務已經被綁定,該方法不會執行多次

 

onUnbind()方法只有調用unbindService()方法才會導致該方法的執行。

 

電話錄音服務只是在服務內部進行錄音以及調用PhoneManager對象,許多時候服務在處理業務後,需要和其它程序進行通信.startService()和stopservice()使用使用者和服務之間沒有交互的情況,否則應該使用bindService()和unbindService()方法。

 

調用bindService()方法時:

1.       服務若沒有創建

s.onCreate()-às.onBind()-à服務於訪問者綁定在一起。

如果訪問者退出:

s.onUnBind()-às.onDestroy();

2.服務已經創建

不會導致調用多次服務的創建(onCreate())和綁定(onBind()),如果解除綁定可調用unbindService()方法,系統同樣會調用服務的onUnbind()-àonDestroy()方法。www.2cto.com

 

onBind()只有調用bindService()方法才會觸發該方法的調用。如果服務已經被綁定,該方法不會被執行多次。

 

onUnbind()方法只有調用unbindService()方法才會導致該方法的執行。

 

客戶端和服務通過Ibinder對象聯系在一起。bindService()方法調用時,需要Intent,ServiceConnection和flag參數,其中serviceConnection對象用於接收服務onBind()方法,返回的Ibinder對象,並且該對象會傳入到第二個參數serviceConnection對應的方法中,觸發方法的回調,總而言之,使用客戶端持有到達service對象的引用。

 

 


作者:toto1297488504
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved