程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 應用-Android Application 裡面怎麼啟動service

應用-Android Application 裡面怎麼啟動service

編輯:編程綜合問答
Android Application 裡面怎麼啟動service

Android Application 裡面怎麼啟動service

最佳回答:


1.

       Intent intent = new Intent(A.this,Service.class);  
       startService(intent);  
    在同一個應用任何地方調用 startService() 方法就能啟動 Service 了,然後系統會回調 Service 類的 onCreate() 以及 onStart() 方法。這樣啟動的 Service 會一直運行在後台,直到 Context.stopService() 或者 selfStop() 方法被調用。另外如果一個 Service 已經被啟動,其他代碼再試圖調用 startService() 方法,是不會執行 onCreate() 的,但會重新執行一次 onStart() 。

2.

        Intent intent = new Intent(A.this,Service.class);  
        ServiceConnection conn = new ServiceConnection(){//邏輯操作};
        bindService(intent, conn, Context.BIND_AUTO_CREATE); 
    bindService() 方法的意思是,把這個 Service 和調用 Service 的客戶類綁起來,如果調用這個客戶類被銷毀,Service 也會被銷毀。用這個方法的一個好處是,bindService() 方法執行後 Service 會回調上邊提到的 onBind() 方發,你可以從這裡返回一個實現了 IBind 接口的類,在客戶端操作這個類就能和這個服務通信了,比如得到 Service 運行的狀態或其他操作。如果 Service 還沒有運行,使用這個方法啟動 Service 就會 onCreate() 方法而不會調用 onStart()。

區別概況為:
startService() 的調用者與服務沒有聯系,即使調用者退出了,服務仍然運行,而bindService() 的調用者與服務綁在一起,調用者一旦退出了,服務也隨即終止掉。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved