Android 服務的基本用法

2021-09-26 06:35:07 字數 1416 閱讀 9676

定義服務之後,我們會發現這個服務類是繼承於service類的,需要重寫service類中的一些方法,最常用的3個方法:oncreate()(服務建立時呼叫),onstartcommand()(服務啟動時呼叫)和ondestroy()(服務銷毀時呼叫)。

這裡我們用按鈕來啟動和停止服務

核心**如下:

case r.id.start_service:

intent startintent=new intent(this,myservice.class);

startservice(startintent);//啟動服務

break;

case r.id.stop_service:

intent stopintent=new intent(this,myservice.class);

stopservice(stopintent);//停止服務

break;

用startservice()和stopservice()方法來啟動和停止服務

1、需要用到myservice類的onbind()方法。

在myservice類中自定義乙個繼承於binder的mybinder類。然後在其中定義想實現的功能(方法)。最後在onbind()方法中返回這個mybinder的例項。

2、在mainactivity中建立乙個serviceconnection的匿名類,在裡面重寫了onserviceconnected()方法和onservicedisconnected()方法,這兩個方法分別在活動與服務成功繫結和活動與服務斷開連線時呼叫。然後再通過bindservice()方法和unbindservice()方法進行繫結服務和解綁服務。

case r.id.bind_service:

intent bindintent=new intent(this,myservice.class);

bindservice(bindintent,connection,bind_auto_create);

//繫結服務,第二個引數是serviceconnection例項,第三個引數是標誌位

//這裡傳入bind_auto_create表示在活動和服務進行繫結後自動建立服務,這會使得myservice的oncreate()方法得到執行

break;

case r.id.unbind_service:

unbindservice(connection);

break;

這裡的bindservice()傳入的標誌位,表示在活動和服務進行繫結後自動建立服務,這會使得myservice的oncreate()方法得到執行。

Android 服務的基本用法

在專案中定義乙個服務,新建乙個service專案 new service service。生成 如下 myservice繼承自service類,onbind方法也別醒目,這個方法是service中唯一乙個抽象方法,所以必須要在子類中實現 public class myservice extends ...

Android基本用法

1 需改導航欄標題的背景 setcontentview r.layout.activity schoolnotice content final actionbar actionbar getactionbar actionbar.setdisplayhomeasupenabled true 給左上...

服務的基本用法

定義乙個服務 public class myservice extends service override public void oncreate override public int onstartcommand intent intent,int flags,int startid ove...