1. intentservice繼承自service
public abstract class intentservice extends service
@override
public void handlemessage(message msg)
}public intentservice(string name)
public void setintentredelivery(boolean enabled)
@override
public void oncreate()
//在呼叫startservice時,執行onstart方法,mservicehandler傳送訊息
@override
public void onstart(@nullable intent intent, int startid)
@override
public int onstartcommand(@nullable intent intent, int flags, int startid)
@override
public void ondestroy()
@override
@nullable
public ibinder onbind(intent intent)
//需要實現的方法
@workerthread
protected abstract void onhandleintent(@nullable intent intent);
}
6. 使用intentservice 必須首先繼承intentservice並實現onhandleintent()方法,將耗時的任務放在這個方法執行,其他方面,intentservice和service一樣。
//必須實現 建構函式 和 onhandleintent方法
public class myintentservice extends intentservice
public myintentservice(string name)
@override
protected void onhandleintent(@nullable intent intent)
}//必須實現 onbind方法
public class myservice extends service
}
7. 對於intentservice和service的使用測試,可以檢視service與intentservice的比較
service與intentservice的比較
service和intentservice的區別
Android 多執行緒之Handler
前言 android的訊息傳遞機制是另外一種形式的 事件處理 這種機制主要是為了解決android應用中多執行緒的問題 在android中不允許activity新啟動的執行緒訪問該activity裡的ui元件,handler handler,它直接繼承自object,乙個handler允許傳送和處理...
Android 多執行緒之Looper
前言 handler messagequeue looper三者間的關係如圖 從上圖可以看出,handler傳送執行緒訊息到當前執行緒的messagequeue中,而looper用來管理messagequeue,它從messagequeue中取到訊息交給handler處理。looper 在activ...
Android 多執行緒之Looper
前言 handler messagequeue looper三者間的關係如圖 從上圖可以看出,handler傳送執行緒訊息到當前執行緒的messagequeue中,而looper用來管理messagequeue,它從messagequeue中取到訊息交給handler處理。looper 在activ...