DeviceClient

interface DeviceClient


用于访问设备相关 API 的客户端。

使用 DeviceClientFactory 创建与设备上的 Android Device Policy 应用通信的实例。

摘要

公共函数

ListenableFuture<Device>
@RequiresApi(value = 28)
getDevice(request: GetDeviceRequest)

获取设备信号。

suspend Device

获取设备信号。

公共函数

getDevice

@RequiresApi(value = 28)
fun getDevice(request: GetDeviceRequest): ListenableFuture<Device>

获取设备信号。

此 API 要求在调用之前准备好环境。可以通过调用 EnvironmentClient.getEnvironment 检查环境是否已准备就绪。如果环境未准备好,可以通过调用 EnvironmentClient.prepareEnvironment 来准备环境。

注意:返回的信号可能会因调用方和设备管理状态而异。

返回
ListenableFuture<Device>

封装结果的 ListenableFuture。这可以是

  • 成功时的 Device 的成功 future。

  • 如果设备 API 级别低于 28,则包装 ApiLevelException 的失败 future。

  • 如果调用失败,则为封装 EnvironmentNotPreparedException 的失败 future。消息和异常的子类型包含有关失败的更多详细信息。

  • 如果调用方无权调用此 API,则返回封装了 SecurityException 的失败 future。

  • 封装了 TimeoutException 的失败 future(如果因超时而导致调用失败)。

  • 如果因内部错误导致调用失败,则返回封装 InternalException 的失败 future。

getDeviceAwait

@RequiresApi(value = 28)
suspend fun getDeviceAwait(request: GetDeviceRequest): Device

获取设备信号。

此 API 要求在调用之前准备好环境。可以通过调用 EnvironmentClient.getEnvironment 检查环境是否已准备就绪。如果环境未准备好,可以通过调用 EnvironmentClient.prepareEnvironment 来准备环境。

注意:返回的信号可能会因调用方和设备管理状态而异。

返回
Device

Device 表示设备信号。

抛出
com.google.android.managementapi.common.exceptions.ApiLevelException

如果设备 API 级别低于 28。

com.google.android.managementapi.environment.exception.EnvironmentNotPreparedException 如果调用失败。消息和异常的子类型包含有关失败的更多详细信息。

java.lang.SecurityException

如果调用者无权调用此 API。

java.util.concurrent.TimeoutException

如果因超时而导致通话失败。

com.google.android.managementapi.common.exceptions.InternalException

如果因内部错误导致通话失败。