鴻蒙OS IPCSkeleton

2022-04-27 15:17 更新

IPCSkeleton

java.lang.Object

|---ohos.rpc.IPCSkeleton

  1. public class IPCSkeleton
  2. extends Object

在IPC骨架中提供靜態(tài)接口,用于獲取服務、讀寫對象、獲取UID和PID、獲取本地和對端設備的ID、檢查是否在同一設備上進行了接口調(diào)用。

構造函數(shù)摘要

構造函數(shù) 描述
IPCSkeleton()

方法總結(jié)

修飾符和類型 方法 描述
static int flushCommands(IRemoteObject object) 將所有掛起的命令從指定的 RemoteProxy 刷新到相應的 RemoteObject。
static String getCallingDeviceID() 獲取對端進程所在設備的ID。
static int getCallingPid() 獲取代理的PID。
static int getCallingUid() 獲取代理的 UID。
static IRemoteObject getContextObject() 獲取已注冊服務的本地 IRemoteObject 引用。
static String getLocalDeviceID() 獲取本地設備的ID。
static boolean isLocalCalling() 檢查是否在同一設備上進行了呼叫。
static String resetCallingIdentity() 將遠程用戶的 UID 和 PID 替換為本地用戶的 UID 和 PID。
static boolean setCallingIdentity(String identity) 將 UID 和 PID 恢復為遠程用戶的 UID 和 PID。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

構造函數(shù)詳細信息

IPCSkeleton

public IPCSkeleton()

方法詳情

getContextObject

public static IRemoteObject getContextObject()

獲取已注冊服務的本地 IRemoteObject 引用。

此方法是靜態(tài)的。

返回:

返回已注冊服務的 IRemoteObject 引用。

getCallingPid

public static int getCallingPid()

獲取代理的PID。

此方法是靜態(tài)的。 RemoteProxy對象與RemoteObject對象通信時PID為正整數(shù),通信結(jié)束后恢復為0。 如果從 RemoteProxy 對象調(diào)用該方法,則返回 0; 如果從 RemoteObject 對象調(diào)用該方法,則返回對應的 RemoteProxy 對象的 PID。

返回:

返回代理的 PID。

getCallingUid

public static int getCallingUid()

獲取代理的 UID。

此方法是靜態(tài)的。 RemoteProxy對象與RemoteObject對象通信時UID為正整數(shù),通信結(jié)束后恢復為0。 如果從 RemoteProxy 對象調(diào)用該方法,則返回 0; 如果從 RemoteObject 對象調(diào)用該方法,則返回對應的 RemoteProxy 對象的 UID。

返回:

返回代理的 UID。

getCallingDeviceID

public static String getCallingDeviceID()

獲取對端進程所在設備的ID。

此方法是靜態(tài)的。

返回:

返回對等進程所在設備的ID。

getLocalDeviceID

public static String getLocalDeviceID()

獲取本地設備的ID。

此方法是靜態(tài)的。

返回:

返回本地設備的 ID。

isLocalCalling

public static boolean isLocalCalling()

檢查是否在同一設備上進行了呼叫。

此方法是靜態(tài)的。

返回:

如果在同一設備上進行調(diào)用,則返回 true; 否則返回 false。

flushCommands

public static int flushCommands(IRemoteObject object)

將所有掛起的命令從指定的 RemoteProxy 刷新到相應的 RemoteObject。

此方法是靜態(tài)的。 建議您在執(zhí)行任何對時間敏感的操作之前調(diào)用該方法。

參數(shù):

參數(shù)名稱 參數(shù)描述
object 表示指定的 RemoteProxy。

返回:

如果操作成功,則返回 0; 如果輸入對象為空或RemoteObject,或操作失敗,則返回錯誤代碼。

resetCallingIdentity

public static String resetCallingIdentity()

將遠程用戶的 UID 和 PID 替換為本地用戶的 UID 和 PID。

此方法是靜態(tài)的。 它可以用于身份驗證等場景。

返回:

返回包含遠程用戶的 UID 和 PID 的字符串。

setCallingIdentity

public static boolean setCallingIdentity(String identity)

將 UID 和 PID 恢復為遠程用戶的 UID 和 PID。

此方法是靜態(tài)的。 它通常在使用resetCallingIdentity 后調(diào)用,需要resetCallingIdentity 返回的遠程用戶的UID 和PID。

參數(shù):

參數(shù)名稱 參數(shù)描述
identity 表示遠程用戶的UID和PID的字符串,resetCallingIdentity返回。

返回:

如果操作成功,則返回 true; 否則返回 false。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號