Service Step 1 android app Service My Service

  • Slides: 17
Download presentation

在程式專案中建立Service Step 1. 在程式專案中新增一個繼承 android. app. Service類別的新類別,我們可 以將這個新類別取名為My. Service。剛開始 的時候Android程式編輯器會自動幫我們的 My. Service類別加上以下的程式碼: public class

在程式專案中建立Service Step 1. 在程式專案中新增一個繼承 android. app. Service類別的新類別,我們可 以將這個新類別取名為My. Service。剛開始 的時候Android程式編輯器會自動幫我們的 My. Service類別加上以下的程式碼: public class ttt extends Service { @Override public IBinder on. Bind(Intent arg 0) { // TODO Auto-generated method stub return null; } } 這個最原始的程式碼中只有on. Bind()方法。 7

在程式專案中建立Service Step 4. 在程式專案的Android. Manifest. xml檔案中 加入描述Service類別的標籤如下: <? xml version="1. 0" encoding="utf-8"? > <manifest

在程式專案中建立Service Step 4. 在程式專案的Android. Manifest. xml檔案中 加入描述Service類別的標籤如下: <? xml version="1. 0" encoding="utf-8"? > <manifest …> <application …> <activity android: name=". Main“ … </activity> <service android: name=". My. Service" android: enabled="true" /> </application> </manifest> 11

啟動Service的第二種方法 Step 1. 在主程式中建立一個Service. Connection的物件,請 參考以下程式碼: private Service. Connection m. Serv. Conn = new

啟動Service的第二種方法 Step 1. 在主程式中建立一個Service. Connection的物件,請 參考以下程式碼: private Service. Connection m. Serv. Conn = new Service. Connection() { public void on. Service. Connected(Component. Name name, IBinder service) { // TODO Auto-generated method stub m. My. Serv = ((My. Service. Local. Binder)service). get. Service(); } }; public void on. Service. Disconnected(Component. Name name) { // TODO Auto-generated method stub } bind. Service()方法需要利用這個物件來取得Service 物件。其中我們必須實作on. Service. Connected()和 on. Service. Disconnected()這二個方法。 14

啟動Service的第二種方法 Step 2. 建立一個Intent物件並指定要啟動的Service 類別,然後呼叫bind. Service()方法如下: Intent it = new Intent(主類別名稱. this, Service類別名稱. class);

啟動Service的第二種方法 Step 2. 建立一個Intent物件並指定要啟動的Service 類別,然後呼叫bind. Service()方法如下: Intent it = new Intent(主類別名稱. this, Service類別名稱. class); bind. Service(it, Service. Connection的物件, BIND_AUTO_CREATE); 其中「Service. Connection的物件」就是步驟 1中的m. Serv. Conn物件。 BIND_AUTO_CREATE參數是請Android系 統視情況需要建立一個Service物件。 15

啟動Service的第二種方法 如果要停止Service物件則使用下列的程式碼: unbind. Service(Service. Connection的物件); 其中「Service. Connection的物件」就是前面步驟 1中 的m. Serv. Conn物件。 16

啟動Service的第二種方法 如果要停止Service物件則使用下列的程式碼: unbind. Service(Service. Connection的物件); 其中「Service. Connection的物件」就是前面步驟 1中 的m. Serv. Conn物件。 16