新聞中心
RemoteObjectCallbackList

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供淅川企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、HTML5、小程序制作等業(yè)務(wù)。10年已為淅川眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
java.lang.Object
|---ohos.rpc.RemoteObjectCallbackList
public class RemoteObjectCallbackList
extends Object 存儲(chǔ)并維護(hù)從服務(wù)到其客戶端的遠(yuǎn)程回調(diào)列表。
詳細(xì)來(lái)說(shuō),這個(gè)類:
- 在 Map 容器中存儲(chǔ)一組已注冊(cè)的 IRemoteBroker 回調(diào)。 每個(gè)回調(diào)由一個(gè) IRemoteObject 唯一標(biāo)識(shí)(通過(guò)調(diào)用 IRemoteBroker#asObject() 獲得。
- 將 IRemoteObject.DeathRecipient 對(duì)象附加到每個(gè)已注冊(cè)的回調(diào),以便在托管回調(diào)的進(jìn)程死亡時(shí)自動(dòng)從列表中刪除回調(diào)。
- 鎖定并備份回調(diào)列表以處理多線程調(diào)用,并迭代列表的備份而不保持備份鎖定。
構(gòu)造 RemoteObjectCallbackList 實(shí)例時(shí),需要通過(guò) E 來(lái)指定回調(diào)類型。 E 繼承自 IRemoteBroker。
構(gòu)造函數(shù)摘要
| 構(gòu)造函數(shù) | 描述 |
|---|---|
| RemoteObjectCallbackList() |
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| 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)。 |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
構(gòu)造函數(shù)詳細(xì)信息
RemoteObjectCallbackList
public RemoteObjectCallbackList()
方法詳情
onRemoteCallbackDied
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ù)名稱 | 參數(shù)描述 |
|---|---|
| callback | 表示進(jìn)程托管的回調(diào)。 由于進(jìn)程已終止,您不能再調(diào)用此回調(diào)。 |
onRemoteCallbackDied
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ù)名稱 | 參數(shù)描述 |
|---|---|
| callback | 表示進(jìn)程托管的回調(diào)。 由于進(jìn)程已終止,您不能再調(diào)用此回調(diào)。 |
| cookie | 指示與回調(diào)關(guān)聯(lián)的 cookie。 它可以是任何對(duì)象。 |
getRemoteObjectCallbackCount
public int getRemoteObjectCallbackCount()
獲取存儲(chǔ)在此容器中的回調(diào)數(shù)。
返回:
返回存儲(chǔ)在此容器中的回調(diào)數(shù)。
getRemoteObjectCallbackInterface
public E getRemoteObjectCallbackInterface(IRemoteObject key)
獲取由指定的 IRemoteObject 標(biāo)識(shí)的回調(diào)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| key | 指示指定的 IRemoteObject。 |
返回:
返回由指定的 IRemoteObject 標(biāo)識(shí)的回調(diào)。 使用 register(E) 將回調(diào)添加到 RemoteObjectCallbackList。
getRemoteObjectCallbackCookie
public Object getRemoteObjectCallbackCookie(IRemoteObject key)
獲取與指定 IRemoteObject 標(biāo)識(shí)的回調(diào)關(guān)聯(lián)的 cookie。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| key | 指示指定的 IRemoteObject。 |
返回:
返回與指定 IRemoteObject 標(biāo)識(shí)的回調(diào)關(guān)聯(lián)的 cookie。 使用 register(E) 將回調(diào)添加到 RemoteObjectCallbackList。
register
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。
register
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ù)名稱 | 參數(shù)描述 |
|---|---|
| callback | 表示要添加的回調(diào)。 |
| cookie | 指示與回調(diào)關(guān)聯(lián)的 cookie。 它可以是任何對(duì)象。 |
返回:
如果回調(diào)被添加到此 RemoteObjectCallbackList,則返回 true; 如果回調(diào)未能添加到此 RemoteObjectCallbackList 或已調(diào)用 unregisterAll(),則返回 false。
unregister
public boolean unregister(E callback)
從此 RemoteObjectCallbackList 中刪除以前添加的回調(diào)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| callback | 指示要?jiǎng)h除的回調(diào)。 |
返回:
cookie 如果找到指定的回調(diào)并將其從該 RemoteObjectCallbackList 中刪除,則返回 true; 如果未找到指定的回調(diào),則返回 false。
unregisterAll
public void unregisterAll()
從此 RemoteObjectCallbackList 中刪除所有以前添加的回調(diào)。
從此 RemoteObjectCallbackList 中刪除所有回調(diào)并將列表標(biāo)記為不可用后,調(diào)用 register(E) 將回調(diào)添加到此列表將失敗。 該方法用于防止客戶端在服務(wù)停止后注冊(cè)回調(diào)。
startBroadcast
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。
stopBroadcast
public void stopBroadcast()
停止廣播。
您必須在廣播完成后調(diào)用此方法。
getBroadcastInterface
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ù)名稱 | 參數(shù)描述 |
|---|---|
| index | 回調(diào)索引。 不能超過(guò) startBroadcast() 的返回值。 |
返回:
返回匹配給定索引的回調(diào)。
getBroadcastCookie
public Object getBroadcastCookie(int index)
獲取與廣播中給定索引匹配的回調(diào)關(guān)聯(lián)的cookie。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| index | 回調(diào)索引。 不能超過(guò) startBroadcast() 的返回值。 |
返回:
返回與給定索引匹配的回調(diào)關(guān)聯(lián)的 cookie。
文章名稱:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSRemoteObjectCallbackList
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/dhjdchs.html


咨詢
建站咨詢
