public void onclick(view v)
else if (v==unbind)
else if (v==start)
else
}
第一次執行startservice 會執行 oncreate -> onstartcommand -> onstart
第二次執行 startservice 不會呼叫 oncreate 也不會生成新的例項,但是會再次呼叫 onstartcommand -> onstart (在onstart裡new timer()會導致多個timer執行緒同時存在)
stop執行後 呼叫 ondestroy 服務停止後 執行stop不會有反應。
執行bind oncreate(第一次建立服務例項,但不會開始執行服務,即不呼叫onstart)->onbinder->serviceconnection
unbind 呼叫 onunbinder->ondestroy 沒有例項的時候會崩
private serviceconnection conn = new serviceconnection()
@override
public void onserviceconnected(componentname name,ibinder service)
};
public class service extends service
@override
public boolean onunbind(intent intent)
@override
public void ondestroy()
@override
public void oncreate()
@override
public void onstart(intent intent , int startid)
@override
public int onstartcommand(intent intent,int flags,int startid)
}
最後注意要把 service 加在manifest裡
service生命週期
service 生命週期 注意 onstart方法是在android2.0之前的平台使用的.在2.0及其之後,則需重寫onstartcommand方法,同時,舊的onstart方法則不會再被呼叫.1 可以通過呼叫 context.startservice 啟動乙個 service 這可能會觸發 se...
Service生命週期
1 通過startservice開啟服務 oncreate onstartcommand 2 通過stopservice關閉服務 ondestroy 說明 如果在未stopservice的情況下,再去startservice,只會onstartcommand 3 通過bindservice開啟服務 ...
Service生命週期
service生命週期 使用context.startservice 啟動service 其生命週期為context.startservice oncreate onstart service running context.stopservice ondestroy service stop 如果...