標籤:
Local Service Controller 是將LocalService當作“Started”Service來使用,相對於”Bound” Service 來說,這種模式用法要簡單得多,LocalServiceActivities.Controller 啟動Local Service 之後就基本上不管LocalService了
startService(new Intent(Controller.this,LocalService.class));
LocalService可以選擇自己停止自己,本例是通過調用stopService來停止Service ,如果你在本例中啟動Service之後,沒有stopService ,這個Service將在後台一直運行,即使你退出AppDemo或是啟動其它應用(螢幕上方會一直顯示一個三角)。而對於Local Service Binding來說,情況就不同,綁定Service之後,即使你沒有點擊“unbind Service ”按鈕,按“Back”鍵,Binding Activity退出時,Android系統會自動斷開與LocalService的綁定。螢幕上方Notification會自動消失。
此外本例LocalService 之所以稱為“Local” Service,除了上面提到的提供IBinder對象之間調用介面,只允許同一Application的組件來調用外。LocalService 在AndroidManifest.xml中定義為:
<service android:name=”.app.LocalService” />
不含任何Intent-Filter,表示只能通過Explicit 指定Service類,不同應用一般來說無法直接存取這個類。
【起航計劃 035】2015 起航計劃 Android APIDemo的魔鬼步伐 34 App->Service->Local Service Controller