新聞中心
RemoteObjectCallbackList

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供淅川企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、HTML5、小程序制作等業(yè)務(wù)。10年已為淅川眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
java.lang.Object
|---ohos.rpc.RemoteObjectCallbackList
public class RemoteObjectCallbackList
extends Object 存儲并維護從服務(wù)到其客戶端的遠程回調(diào)列表。
詳細來說,這個類:
- 在 Map 容器中存儲一組已注冊的 IRemoteBroker 回調(diào)。 每個回調(diào)由一個 IRemoteObject 唯一標識(通過調(diào)用 IRemoteBroker#asObject() 獲得。
- 將 IRemoteObject.DeathRecipient 對象附加到每個已注冊的回調(diào),以便在托管回調(diào)的進程死亡時自動從列表中刪除回調(diào)。
- 鎖定并備份回調(diào)列表以處理多線程調(diào)用,并迭代列表的備份而不保持備份鎖定。
構(gòu)造 RemoteObjectCallbackList 實例時,需要通過 E 來指定回調(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 標識的回調(diào)關(guān)聯(lián)的 cookie。 |
| int | getRemoteObjectCallbackCount() | 獲取存儲在此容器中的回調(diào)數(shù)。 |
| E | getRemoteObjectCallbackInterface(IRemoteObject key) | 獲取由指定的 IRemoteObject 標識的回調(diào)。 |
| void | onRemoteCallbackDied(E callback) | 當托管指定回調(diào)的進程死亡時調(diào)用。 |
| void | onRemoteCallbackDied(E callback, Object cookie) | 當托管指定回調(diào)的進程終止時調(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 |
構(gòu)造函數(shù)詳細信息
RemoteObjectCallbackList
public RemoteObjectCallbackList()
方法詳情
onRemoteCallbackDied
public void onRemoteCallbackDied(E callback)
當托管指定回調(diào)的進程死亡時調(diào)用。 默認情況下,回調(diào)沒有 cookie。
您可以重寫此方法來定義后續(xù)操作。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| callback | 表示進程托管的回調(diào)。 由于進程已終止,您不能再調(diào)用此回調(diào)。 |
onRemoteCallbackDied
public void onRemoteCallbackDied(E callback, Object cookie)
當托管指定回調(diào)的進程終止時調(diào)用,cookie 包含附加數(shù)據(jù)。
您可以重寫此方法來定義后續(xù)操作。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| callback | 表示進程托管的回調(diào)。 由于進程已終止,您不能再調(diào)用此回調(diào)。 |
| cookie | 指示與回調(diào)關(guān)聯(lián)的 cookie。 它可以是任何對象。 |
getRemoteObjectCallbackCount
public int getRemoteObjectCallbackCount()
獲取存儲在此容器中的回調(diào)數(shù)。
返回:
返回存儲在此容器中的回調(diào)數(shù)。
getRemoteObjectCallbackInterface
public E getRemoteObjectCallbackInterface(IRemoteObject key)
獲取由指定的 IRemoteObject 標識的回調(diào)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| key | 指示指定的 IRemoteObject。 |
返回:
返回由指定的 IRemoteObject 標識的回調(diào)。 使用 register(E) 將回調(diào)添加到 RemoteObjectCallbackList。
getRemoteObjectCallbackCookie
public Object getRemoteObjectCallbackCookie(IRemoteObject key)
獲取與指定 IRemoteObject 標識的回調(diào)關(guān)聯(lián)的 cookie。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| key | 指示指定的 IRemoteObject。 |
返回:
返回與指定 IRemoteObject 標識的回調(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)的進程終止。
參數(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 也會添加到此 RemoteObjectCallbackList。 此回調(diào)將保留在 RemoteObjectCallbackList 中,直到調(diào)用 unregister(E) 將其從列表中刪除或托管回調(diào)的進程終止。
參數(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。
unregister
public boolean unregister(E callback)
從此 RemoteObjectCallbackList 中刪除以前添加的回調(diào)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| callback | 指示要刪除的回調(diào)。 |
返回:
cookie 如果找到指定的回調(diào)并將其從該 RemoteObjectCallbackList 中刪除,則返回 true; 如果未找到指定的回調(diào),則返回 false。
unregisterAll
public void unregisterAll()
從此 RemoteObjectCallbackList 中刪除所有以前添加的回調(diào)。
從此 RemoteObjectCallbackList 中刪除所有回調(diào)并將列表標記為不可用后,調(diào)用 register(E) 將回調(diào)添加到此列表將失敗。 該方法用于防止客戶端在服務(wù)停止后注冊回調(diào)。
startBroadcast
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。
stopBroadcast
public void stopBroadcast()
停止廣播。
您必須在廣播完成后調(diào)用此方法。
getBroadcastInterface
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)。
getBroadcastCookie
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。
新聞名稱:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSRemoteObjectCallbackList
文章出自:http://fisionsoft.com.cn/article/dhjdchs.html


咨詢
建站咨詢
