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