W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
java.lang.Object
|---ohos.rpc.RemoteObjectCallbackList<E&
public class RemoteObjectCallbackList<E extends IRemoteBroker>
extends Object
存儲(chǔ)并維護(hù)從服務(wù)到其客戶(hù)端的遠(yuǎn)程回調(diào)列表。
詳細(xì)來(lái)說(shuō),這個(gè)類(lèi):
構(gòu)造 RemoteObjectCallbackList 實(shí)例時(shí),需要通過(guò) E 來(lái)指定回調(diào)類(lèi)型。 E 繼承自 IRemoteBroker。
構(gòu)造函數(shù) | 描述 |
---|---|
RemoteObjectCallbackList() |
修飾符和類(lèi)型 | 方法 | 描述 |
---|---|---|
Object | getBroadcastCookie(int index) | 獲取與廣播中給定索引匹配的回調(diào)關(guān)聯(lián)的cookie。 |
E | getBroadcastInterface(int index) | 獲取與廣播中給定索引匹配的回調(diào)。 |
Object | getRemoteObjectCallbackCookie(IRemoteObject key) | 獲取與指定 IRemoteObject 標(biāo)識(shí)的回調(diào)關(guān)聯(lián)的 cookie。 |
int | getRemoteObjectCallbackCount() | 獲取存儲(chǔ)在此容器中的回調(diào)數(shù)。 |
E | getRemoteObjectCallbackInterface(IRemoteObject key) | 獲取由指定的 IRemoteObject 標(biāo)識(shí)的回調(diào)。 |
void | onRemoteCallbackDied(E callback) | 當(dāng)托管指定回調(diào)的進(jìn)程死亡時(shí)調(diào)用。 |
void | onRemoteCallbackDied(E callback, Object cookie) | 當(dāng)托管指定回調(diào)的進(jìn)程終止時(shí)調(diào)用,cookie 包含附加數(shù)據(jù)。 |
boolean | register(E callback) | 將指定的回調(diào)添加到此 RemoteObjectCallbackList。 |
boolean | register(E callback, Object cookie) | 將具有指定 cookie 的指定回調(diào)添加到此 RemoteObjectCallbackList。 |
int | startBroadcast() | 開(kāi)始廣播。 |
void | stopBroadcast() | 停止廣播。 |
boolean | unregister(E callback) | 從此 RemoteObjectCallbackList 中刪除以前添加的回調(diào)。 |
void | unregisterAll() | 從此 RemoteObjectCallbackList 中刪除所有以前添加的回調(diào)。 |
從類(lèi) java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public RemoteObjectCallbackList()
public void onRemoteCallbackDied(E callback)
當(dāng)托管指定回調(diào)的進(jìn)程死亡時(shí)調(diào)用。 默認(rèn)情況下,回調(diào)沒(méi)有 cookie。
您可以重寫(xiě)此方法來(lái)定義后續(xù)操作。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
callback | 表示進(jìn)程托管的回調(diào)。 由于進(jìn)程已終止,您不能再調(diào)用此回調(diào)。 |
public void onRemoteCallbackDied(E callback, Object cookie)
當(dāng)托管指定回調(diào)的進(jìn)程終止時(shí)調(diào)用,cookie 包含附加數(shù)據(jù)。
您可以重寫(xiě)此方法來(lái)定義后續(xù)操作。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
callback | 表示進(jìn)程托管的回調(diào)。 由于進(jìn)程已終止,您不能再調(diào)用此回調(diào)。 |
cookie | 指示與回調(diào)關(guān)聯(lián)的 cookie。 它可以是任何對(duì)象。 |
public int getRemoteObjectCallbackCount()
獲取存儲(chǔ)在此容器中的回調(diào)數(shù)。
返回:
返回存儲(chǔ)在此容器中的回調(diào)數(shù)。
public E getRemoteObjectCallbackInterface(IRemoteObject key)
獲取由指定的 IRemoteObject 標(biāo)識(shí)的回調(diào)。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
key | 指示指定的 IRemoteObject。 |
返回:
返回由指定的 IRemoteObject 標(biāo)識(shí)的回調(diào)。 使用 register(E) 將回調(diào)添加到 RemoteObjectCallbackList。
public Object getRemoteObjectCallbackCookie(IRemoteObject key)
獲取與指定 IRemoteObject 標(biāo)識(shí)的回調(diào)關(guān)聯(lián)的 cookie。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
key | 指示指定的 IRemoteObject。 |
返回:
返回與指定 IRemoteObject 標(biāo)識(shí)的回調(diào)關(guān)聯(lián)的 cookie。 使用 register(E) 將回調(diào)添加到 RemoteObjectCallbackList。
public boolean register(E callback)
將指定的回調(diào)添加到此 RemoteObjectCallbackList。
此回調(diào)將保留在 RemoteObjectCallbackList 中,直到調(diào)用 unregister(E) 將其從列表中刪除或托管回調(diào)的進(jìn)程終止。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
callback | 表示要添加的回調(diào)。 |
返回:
如果回調(diào)被添加到此 RemoteObjectCallbackList,則返回 true; 如果回調(diào)未能添加到此 RemoteObjectCallbackList 或已調(diào)用 unregisterAll(),則返回 false。
public boolean register(E callback, Object cookie)
將具有指定 cookie 的指定回調(diào)添加到此 RemoteObjectCallbackList。
與回調(diào)關(guān)聯(lián)的 cookie 也會(huì)添加到此 RemoteObjectCallbackList。 此回調(diào)將保留在 RemoteObjectCallbackList 中,直到調(diào)用 unregister(E) 將其從列表中刪除或托管回調(diào)的進(jìn)程終止。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
callback | 表示要添加的回調(diào)。 |
cookie | 指示與回調(diào)關(guān)聯(lián)的 cookie。 它可以是任何對(duì)象。 |
返回:
如果回調(diào)被添加到此 RemoteObjectCallbackList,則返回 true; 如果回調(diào)未能添加到此 RemoteObjectCallbackList 或已調(diào)用 unregisterAll(),則返回 false。
public boolean unregister(E callback)
從此 RemoteObjectCallbackList 中刪除以前添加的回調(diào)。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
callback | 指示要?jiǎng)h除的回調(diào)。 |
返回:
cookie 如果找到指定的回調(diào)并將其從該 RemoteObjectCallbackList 中刪除,則返回 true; 如果未找到指定的回調(diào),則返回 false。
public void unregisterAll()
從此 RemoteObjectCallbackList 中刪除所有以前添加的回調(diào)。
從此 RemoteObjectCallbackList 中刪除所有回調(diào)并將列表標(biāo)記為不可用后,調(diào)用 register(E) 將回調(diào)添加到此列表將失敗。 該方法用于防止客戶(hù)端在服務(wù)停止后注冊(cè)回調(diào)。
public int startBroadcast()
開(kāi)始廣播。
此方法創(chuàng)建回調(diào)列表的副本并開(kāi)始調(diào)用已注冊(cè)的回調(diào)。 您可以使用 getBroadcastInterface(int) 和 getBroadcastCookie(int) 從列表中檢索回調(diào)。
一次只允許一個(gè)廣播。 確保始終從同一個(gè)線程調(diào)用此方法,并確保在調(diào)用此方法后調(diào)用 stopBroadcast()。
返回:
返回列表中回調(diào)的數(shù)量,這也是getBroadcastInterface(int)和getBroadcastCookie(int)可以訪問(wèn)的上限; 如果另一個(gè)廣播正在運(yùn)行,則返回 -1。
public void stopBroadcast()
停止廣播。
您必須在廣播完成后調(diào)用此方法。
public E getBroadcastInterface(int index)
獲取與廣播中給定索引匹配的回調(diào)。
該方法只能在廣播開(kāi)始后調(diào)用,并且在調(diào)用 stopBroadcast() 后其數(shù)據(jù)不再有效。
如果調(diào)用時(shí)返回的回調(diào)消失了,就會(huì)拋出 RemoteException。 您需要捕獲此異常,但您可以通過(guò)簡(jiǎn)單地忽略它來(lái)處理它,因?yàn)榛卣{(diào)列表會(huì)自動(dòng)刪除無(wú)效的回調(diào)。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
index | 回調(diào)索引。 不能超過(guò) startBroadcast() 的返回值。 |
返回:
返回匹配給定索引的回調(diào)。
public Object getBroadcastCookie(int index)
獲取與廣播中給定索引匹配的回調(diào)關(guān)聯(lián)的cookie。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
index | 回調(diào)索引。 不能超過(guò) startBroadcast() 的返回值。 |
返回:
返回與給定索引匹配的回調(diào)關(guān)聯(lián)的 cookie。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: