Activity繫結到Service上

2021-09-05 21:30:28 字數 1710 閱讀 6608

當乙個

activity

繫結到乙個

service

上時,它負責維護

service

例項的引用,允許你對正在執行的

service

進行一些方法呼叫。

activity

能進行繫結得益於

service

的介面。為了支援

service

的繫結,實現

onbind

方法如下所示:

private final ibinder binder = new mybinder();

@override

public ibinder onbind(intent intent)

public class mybinder extends binder

}service

和activity

的連線可以用

serviceconnection

來實現。你需要實現乙個新的

serviceconnection

,重寫onserviceconnected

和onservicedisconnected

方法,一旦連線建立,你就能得到

service

例項的引用。

// reference to the service

private myservice servicebinder;

// handles the connection between the service and activity

private serviceconnection mconnection = new serviceconnection()

public void onservicedisconnected(componentname classname)

};執行繫結,呼叫

bindservice

方法,傳入乙個選擇了要繫結的

service

的intent

(顯式或隱式)和乙個你實現了的

serviceconnection

例項,如下的框架**所示:

@override

public void oncreate(bundle icicle)

一旦service

物件找到,通過

onserviceconnected

處理函式中獲得

servicebinder

物件就能得到它的公共方法和屬性。

android

應用程式一般不共享記憶體,但在有些時候,你的應用程式可能想要與其它的應用程式中執行的

service

互動。

你可以使用廣播

intent

或者通過用於啟動

service

的intent

中的bundle

來達到與執行在其它程序中的

service

互動的目的。如果你需要更加緊密的連線的話,你可以使用

aidl

讓service

跨越程式邊界來實現繫結。

aidl

定義了系統級別的

service

的介面,來允許

android

跨越程序邊界傳遞物件。

aidl

的定義將在第

11章中覆蓋。

從網路接手server 2 ssh到server

1 防火牆開放22埠 sudo ufw allow 22 開放22埠 sudo ufw status 檢視ufw狀態 2 連線到server ssh server的使用者名稱 server主機名 server主機名我連不了,我用ip才連上去 sftp server的使用者名稱 server主機名 其...

繫結Enum到DropDownList控制項的方法

有時,需要將乙個列舉型別繫結到dropdownlist供使用者選擇,這主要是enum.getnames和enum.getvalues的使用。方法如下 dropdownlist.datasource enum.getnames typeof yourenumtype dropdownlist.data...

繫結資料到ListView

listview1.items.clear 刪除所有元素 listview1.items.remove listview1.selecteditems 0 刪除行 code private void button1 click object sender,eventargs e 取值賦值 listv...