DeviceClient

public interface DeviceClient


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

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

摘要

公共方法

abstract @NonNull ListenableFuture<@NonNull Device>

获取设备信号。

abstract @NonNull Device

获取设备信号。

公共方法

getDevice

@RequiresApi(value = 28)
abstract @NonNull ListenableFuture<@NonNull DevicegetDevice(@NonNull GetDeviceRequest request)

获取设备信号。

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

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

返回
@NonNull ListenableFuture<@NonNull Device>

封装结果的 ListenableFuture。这可以是

  • 成功时的 Device 的成功 future。

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

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

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

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

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

getDeviceAwait

@RequiresApi(value = 28)
abstract @NonNull Device getDeviceAwait(@NonNull GetDeviceRequest request)

获取设备信号。

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

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

返回
@NonNull 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

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