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 要求先准备好环境,然后才能调用此 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 要求先准备好环境,然后才能调用此 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

如果调用因内部错误而失败。