ITestDevice
public
interface
ITestDevice
implements
INativeDevice
com.android.tradefed.device.ITestDevice |
为 ddmlib IDevice
提供可靠且级别略高的 API。
针对可配置的时间重试设备命令,并提供设备恢复服务 针对无响应的设备提供专属界面。
摘要
嵌套类 | |
---|---|
class |
ITestDevice.ApexInfo
用于存储单个 APEX 相关信息的简单结构体类 |
class |
ITestDevice.MountPointInfo
一个简单的结构体类,用于存储有关单个装载点的信息 |
公共方法 | |
---|---|
abstract
boolean
|
canSwitchToHeadlessSystemUser()
返回是否允许切换到无头 SYSTEM 用户。 |
abstract
boolean
|
checkConnectivity()
检查设备是否已连接到网络。 |
abstract
boolean
|
clearErrorDialogs()
尝试关闭设备界面上当前显示的任何错误对话框。 |
abstract
void
|
clearLastConnectedWifiNetwork()
清除上次连接的 Wi-Fi 网络。 |
abstract
boolean
|
connectToWifiNetwork(
连接到 WLAN 网络。 |
abstract
boolean
|
connectToWifiNetwork(
连接到 WLAN 网络。 |
abstract
boolean
|
connectToWifiNetwork(String wifiSsid, String wifiPsk)
连接到 WLAN 网络。 |
abstract
boolean
|
connectToWifiNetwork(String wifiSsid, String wifiPsk, boolean scanSsid)
连接到 WLAN 网络。 |
abstract
boolean
|
connectToWifiNetworkIfNeeded(String wifiSsid, String wifiPsk, boolean scanSsid)
|
abstract
boolean
|
connectToWifiNetworkIfNeeded(String wifiSsid, String wifiPsk)
|
abstract
int
|
createUser(String name)
使用给定名称和默认标志 0 创建用户。 |
abstract
int
|
createUser(String name, boolean guest, boolean ephemeral)
使用给定名称和提供的标志创建用户 |
abstract
int
|
createUser(String name, boolean guest, boolean ephemeral, boolean forTesting)
使用给定名称和提供的标志创建用户 |
abstract
int
|
createUserNoThrow(String name)
使用给定名称和默认标志 0 创建用户。 |
abstract
void
|
deregisterDeviceActionReceiver(IDeviceActionReceiver deviceActionReceiver)
移除已注册的 |
abstract
void
|
disableKeyguard()
尝试停用键盘锁。 |
abstract
boolean
|
disableNetworkMonitor()
停用设备上的网络监控功能。 |
abstract
boolean
|
disconnectFromWifi()
断开与 Wi-Fi 网络的连接。 |
abstract
boolean
|
doesFileExist(String deviceFilePath, int userId)
用于确定设备上是否存在给定用户的文件的辅助方法。 |
abstract
File
|
dumpHeap(String process, String devicePath)
尝试从 system_server 转储堆。 |
abstract
boolean
|
enableNetworkMonitor()
启用设备上的网络监控功能。 |
abstract
|
getActiveApexes()
提取设备上已激活的 APEX 的相关信息。 |
abstract
|
getAllSettings(String namespace)
返回所请求命名空间的键值对。 |
abstract
String
|
getAndroidId(int userId)
查找并返回与 userId 关联的 android-id;如果未找到,则返回 null。 |
abstract
|
getAndroidIds()
针对找到的 Android ID 创建与用户 ID 匹配的映射。 |
abstract
PackageInfo
|
getAppPackageInfo(String packageName)
提取设备上安装的软件包的相关信息。 |
abstract
|
getAppPackageInfos()
提取设备上安装的软件包的相关信息。 |
abstract
InputStreamSource
|
getBugreport()
从设备中检索 bug 报告。 |
abstract
InputStreamSource
|
getBugreportz()
从设备中检索 bugreportz。 |
abstract
DeviceFoldableState
|
getCurrentFoldableState()
返回设备当前的可折叠状态;如果发生某些问题,则返回 null。 |
abstract
int
|
getCurrentUser()
返回当前正在运行的用户的 ID。 |
abstract
|
getFoldableStates()
返回设备上的可折叠设备状态列表。 |
abstract
|
getInstalledPackageNames()
提取设备上存在的应用软件包名称。 |
abstract
String
|
getIpAddress()
获取设备的 IP 地址。 |
abstract
KeyguardControllerState
|
getKeyguardState()
返回一个对象以获取键盘锁的当前状态,如果不受支持,则返回 null。 |
abstract
Integer
|
getMainUserId()
返回主要用户 ID。 |
abstract
|
getMainlineModuleInfo()
获取设备上安装的 Mainline 模块的相关信息。 |
abstract
int
|
getMaxNumberOfRunningUsersSupported()
获取支持同时运行的用户数量上限。 |
abstract
int
|
getMaxNumberOfUsersSupported()
获取支持的用户数上限。 |
abstract
TestDeviceOptions
|
getOptions()
获取设备的测试选项。 |
abstract
Integer
|
getPrimaryUserId()
返回主要用户 ID。 |
abstract
InputStreamSource
|
getScreenshot(String format, boolean rescale)
从设备上抓取屏幕截图。 |
abstract
InputStreamSource
|
getScreenshot(String format)
从设备上抓取屏幕截图。 |
abstract
InputStreamSource
|
getScreenshot(long displayId)
从指定显示屏 ID 的设备获取屏幕截图。 |
abstract
InputStreamSource
|
getScreenshot()
从设备上抓取屏幕截图。 |
abstract
String
|
getSetting(int userId, String namespace, String key)
返回所请求设置的值。 |
abstract
String
|
getSetting(String namespace, String key)
请参阅 |
abstract
|
getUninstallablePackageNames()
获取可卸载的应用软件包名称。 |
abstract
int
|
getUserFlags(int userId)
查找并返回指定用户的标志。 |
abstract
|
getUserInfos()
获取设备上的 useId 到 |
abstract
int
|
getUserSerialNumber(int userId)
如果找到,则返回与 userId 关联的序列号,在任何其他情况下返回 -10000。 |
abstract
boolean
|
hasFeature(String feature)
检查设备是否支持某项功能。 |
abstract
String
|
installPackage(File packageFile, boolean reinstall, String... extraArgs)
在设备上安装 Android 软件包。 |
abstract
String
|
installPackage(File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs)
在设备上安装 Android 软件包。 |
abstract
String
|
installPackageForUser(File packageFile, boolean reinstall, int userId, String... extraArgs)
在设备上安装给定用户的 Android 软件包。 |
abstract
String
|
installPackageForUser(File packageFile, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)
在设备上安装给定用户的 Android 软件包。 |
default
String
|
installPackages(
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用。 |
default
String
|
installPackages(
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用 位于 Android 设备上的应用 |
default
String
|
installPackagesForUser(
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用 。 |
default
String
|
installPackagesForUser(
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用 。 |
default
String
|
installRemotePackages(
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用 位于 Android 设备上的应用 |
default
String
|
installRemotePackages(
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用 位于 Android 设备上的应用 |
abstract
boolean
|
isHeadlessSystemUserMode()
返回设备是否使用无头系统用户模式的指示值。 |
abstract
boolean
|
isMainUserPermanentAdmin()
返回主要用户是否为永久管理员且无法删除或降级为的信息 非管理员状态。 |
abstract
boolean
|
isMultiUserSupported()
确定是否支持多用户。 |
abstract
boolean
|
isPackageInstalled(String packageName, String userId)
查询设备以获取指定的软件包名称和用户 ID,检查其当前是否位于 安装或未安装。 |
abstract
boolean
|
isPackageInstalled(String packageName)
查询设备以获取给定的软件包名称,检查设备当前是否已安装。 |
abstract
boolean
|
isUserRunning(int userId)
检查指定用户是否正在运行。 |
abstract
boolean
|
isUserSecondary(int userId)
根据其标记返回指定用户是否为次要用户。 |
abstract
boolean
|
isUserVisible(int userId)
检查指定用户是否可见。 |
abstract
boolean
|
isUserVisibleOnDisplay(int userId, int displayId)
检查指定用户是否在给定显示屏中可见。 |
abstract
boolean
|
isVisibleBackgroundUsersOnDefaultDisplaySupported()
返回设备是否允许在 |
abstract
boolean
|
isVisibleBackgroundUsersSupported()
返回设备是否允许用户在后台启动。 |
abstract
boolean
|
isWifiEnabled()
测试 Wi-Fi 是否已启用。 |
abstract
|
listDisplayIds()
收集设备上由“dumpsys”报告的可用屏幕 ID 的列表 SurfaceFlinger”。 |
abstract
|
listDisplayIdsForStartingVisibleBackgroundUsers()
获取可用于 |
abstract
|
listUsers()
获取设备上的用户列表。 |
abstract
boolean
|
logBugreport(String dataName, ITestLogger listener)
用于生成 bug 报告并将其记录给报告者的辅助方法。 |
default
void
|
notifySnapuserd(SnapuserdWaitPhase waitPhase)
通知设备等待 Snapuserd 完成。 |
abstract
void
|
registerDeviceActionReceiver(IDeviceActionReceiver deviceActionReceiver)
为此设备注册 |
abstract
boolean
|
removeAdmin(String componentName, int userId)
移除指定用户的指定设备管理员,如果操作成功,则返回 |
abstract
void
|
removeOwners()
尽可能移除所有现有的设备配置文件所有者。 |
abstract
boolean
|
removeUser(int userId)
从设备中移除指定用户。 |
abstract
boolean
|
setDeviceOwner(String componentName, int userId)
将设备管理组件设为指定用户的设备所有者。 |
abstract
void
|
setSetting(String namespace, String key, String value)
请参阅 |
abstract
void
|
setSetting(int userId, String namespace, String key, String value)
将设置值添加到指定用户的命名空间。 |
abstract
boolean
|
startUser(int userId)
在后台启动指定用户(如果当前已停止)。 |
abstract
boolean
|
startUser(int userId, boolean waitFlag)
在后台启动指定用户(如果当前已停止)。 |
abstract
boolean
|
startVisibleBackgroundUser(int userId, int displayId, boolean waitFlag)
在后台启动指定用户,在指定的显示屏中处于可见状态(即允许用户 以在该显示屏中启动 activity)。 |
abstract
boolean
|
stopUser(int userId)
停止指定用户。 |
abstract
boolean
|
stopUser(int userId, boolean waitFlag, boolean forceFlag)
停止指定用户。 |
abstract
boolean
|
switchUser(int userId)
切换到具有默认超时的另一个 userId。 |
abstract
boolean
|
switchUser(int userId, long timeout)
切换到另一个 userId,并将提供的超时作为截止时间。 |
abstract
Bugreport
|
takeBugreport()
获取 bug 报告并在 |
abstract
String
|
uninstallPackage(String packageName)
从设备上卸载 Android 软件包。 |
abstract
String
|
uninstallPackageForUser(String packageName, int userId)
从设备中卸载指定用户的 Android 软件包。 |
default
void
|
waitForSnapuserd(SnapuserdWaitPhase currentPhase)
如果符合预期,请等待 Snapuserd 完成任务。 |
公共方法
canSwitchToHeadlessSystemUser
public abstract boolean canSwitchToHeadlessSystemUser ()
返回是否允许切换到无头 SYSTEM 用户。
返回 | |
---|---|
boolean |
抛出 | |
---|---|
DeviceNotAvailableException |
checkConnectivity
public abstract boolean checkConnectivity ()
检查设备是否已连接到网络。
返回 | |
---|---|
boolean |
如果设备的网络连接正常,则为 true ;
false 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
ClearErrorDialogs
public abstract boolean clearErrorDialogs ()
尝试关闭设备界面上当前显示的任何错误对话框。
返回 | |
---|---|
boolean |
如果不存在对话框或对话框已成功清除,则为 true 。
否则为 false 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
ClearLastConnectedWifiNetwork
public abstract void clearLastConnectedWifiNetwork ()
清除上次连接的 Wi-Fi 网络。启动新调用时应调用此方法 避免在设备重新启动后连接到上一次测试中使用的 Wi-Fi 网络。
连接到 Wifi 网络
public abstract boolean connectToWifiNetwork (wifiSsidToPsk)
连接到 WLAN 网络。
开启 WLAN 并屏蔽,直到与其中一个 WLAN 网络成功建立连接
wifiSsidToPsk 映射中指定的网络。建立连接后,该实例将尝试
每次重新启动后恢复连接,直到 ITestDevice#disconnectFromWifi()
;或者
调用 ITestDevice#clearLastConnectedWifiNetwork()
。
参数 | |
---|---|
wifiSsidToPsk |
:Wi-Fi SSID 到密码的映射。 |
返回 | |
---|---|
boolean |
true (如果已成功连接到 Wi-Fi 网络)。false
否则 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
连接到 Wifi 网络
public abstract boolean connectToWifiNetwork (wifiSsidToPsk, boolean scanSsid)
连接到 WLAN 网络。
开启 WLAN 并屏蔽,直到与其中一个 WLAN 网络成功建立连接
wifiSsidToPsk 映射中指定的网络。建立连接后,该实例将尝试
每次重新启动后恢复连接,直到 ITestDevice#disconnectFromWifi()
;或者
调用 ITestDevice#clearLastConnectedWifiNetwork()
。
参数 | |
---|---|
wifiSsidToPsk |
:Wi-Fi SSID 到密码的映射。 |
scanSsid |
boolean :是否扫描此网络的隐藏 SSID。 |
返回 | |
---|---|
boolean |
true (如果已成功连接到 Wi-Fi 网络)。false
否则 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
连接到 Wifi 网络
public abstract boolean connectToWifiNetwork (String wifiSsid, String wifiPsk)
连接到 WLAN 网络。
开启 WLAN 并屏蔽,直到与指定的 WLAN 网络成功连接为止。
建立连接后,该实例将在每次重新启动后尝试恢复连接
直到 ITestDevice#disconnectFromWifi()
或
调用 ITestDevice#clearLastConnectedWifiNetwork()
。
参数 | |
---|---|
wifiSsid |
String :要连接的 Wi-Fi SSSID |
wifiPsk |
String :PSK 密码;如果未加密,则为 null |
返回 | |
---|---|
boolean |
true (如果已成功连接到 Wi-Fi 网络)。false
否则 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
连接到 Wifi 网络
public abstract boolean connectToWifiNetwork (String wifiSsid, String wifiPsk, boolean scanSsid)
连接到 WLAN 网络。
开启 WLAN 并屏蔽,直到与指定的 WLAN 网络成功连接为止。
建立连接后,该实例将在每次重新启动后尝试恢复连接
直到 ITestDevice#disconnectFromWifi()
或
调用 ITestDevice#clearLastConnectedWifiNetwork()
。
参数 | |
---|---|
wifiSsid |
String :要连接的 Wi-Fi SSSID |
wifiPsk |
String :PSK 密码;如果未加密,则为 null |
scanSsid |
boolean :是否扫描此网络的隐藏 SSID。 |
返回 | |
---|---|
boolean |
true (如果已成功连接到 Wi-Fi 网络)。false
否则 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
connectToWifiNetworkIfNeeded
public abstract boolean connectToWifiNetworkIfNeeded (String wifiSsid, String wifiPsk, boolean scanSsid)
connectToWifiNetwork(String, String)
的变体,仅在设备时连接
目前没有网络连接。
参数 | |
---|---|
scanSsid |
boolean :是否扫描此网络的隐藏 SSID |
返回 | |
---|---|
boolean |
true (如果已成功连接到 Wi-Fi 网络)。false
否则 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
connectToWifiNetworkIfNeeded
public abstract boolean connectToWifiNetworkIfNeeded (String wifiSsid, String wifiPsk)
connectToWifiNetwork(String, String)
的变体,仅在设备时连接
目前没有网络连接。
返回 | |
---|---|
boolean |
true (如果已成功连接到 Wi-Fi 网络)。false
否则 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
createUser
public abstract int createUser (String name)
使用给定名称和默认标志 0 创建用户。
参数 | |
---|---|
name |
String :在设备上创建的用户的级别 |
返回 | |
---|---|
int |
创建的用户 ID 的整数 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
createUser
public abstract int createUser (String name, boolean guest, boolean ephemeral)
使用给定名称和提供的标志创建用户
参数 | |
---|---|
name |
String :在设备上创建的用户的级别 |
guest |
boolean :在创建期间启用用户标志 --guest |
ephemeral |
boolean :在创建期间启用用户标志 --Temporary |
返回 | |
---|---|
int |
已创建用户的 ID |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
createUser
public abstract int createUser (String name, boolean guest, boolean ephemeral, boolean forTesting)
使用给定名称和提供的标志创建用户
参数 | |
---|---|
name |
String :在设备上创建的用户的级别 |
guest |
boolean :在创建期间启用用户标志 --guest |
ephemeral |
boolean :在创建期间启用用户标志 --Temporary |
forTesting |
boolean :在创建期间启用测试标志 --for-testing |
返回 | |
---|---|
int |
已创建用户的 ID |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
createUserNoThrow
public abstract int createUserNoThrow (String name)
使用给定名称和默认标志 0 创建用户。
参数 | |
---|---|
name |
String :在设备上创建的用户的级别 |
返回 | |
---|---|
int |
创建的用户 ID 的整数,或 -1 表示出错。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
deregisterDeviceActionReceiver
public abstract void deregisterDeviceActionReceiver (IDeviceActionReceiver deviceActionReceiver)
移除已注册的 IDeviceActionReceiver
。
参数 | |
---|---|
deviceActionReceiver |
IDeviceActionReceiver :将被移除的 IDeviceActionReceiver 。 |
停用键盘锁
public abstract void disableKeyguard ()
尝试停用键盘锁。
首先等待输入调度准备就绪, 设备报告 BOOT_COMPLETE,明显是异步的,因为当前的框架 实现偶尔会出现竞态条件。然后发送命令以关闭键盘锁 仅限非安全网站)
抛出 | |
---|---|
DeviceNotAvailableException |
停用网络监控器
public abstract boolean disableNetworkMonitor ()
停用设备上的网络监控功能。
返回 | |
---|---|
boolean |
如果已成功停用监控功能,则为 true 。false
如果失败了,则会发生此错误 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
断开 Wi-Fi 连接
public abstract boolean disconnectFromWifi ()
断开与 Wi-Fi 网络的连接。
从已知网络列表中移除所有网络并停用 Wi-Fi。
返回 | |
---|---|
boolean |
true (如果成功断开与 Wi-Fi 网络的连接)。false
如果断开连接失败。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
doFileExist
public abstract boolean doesFileExist (String deviceFilePath, int userId)
用于确定设备上是否存在给定用户的文件的辅助方法。
参数 | |
---|---|
deviceFilePath |
String :要检查的设备上文件的绝对路径 |
userId |
int :用于检查文件是否存在的用户 ID |
返回 | |
---|---|
boolean |
如果文件存在,则返回 true ,否则返回 false 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
转储堆
public abstract File dumpHeap (String process, String devicePath)
尝试从 system_server 转储堆。调用方负责清理 转储文件
参数 | |
---|---|
process |
String :要转储堆的设备进程的名称。 |
devicePath |
String :设备上的转储路径。此位置必须是
没有权限限制它。 |
返回 | |
---|---|
File |
包含报告的 ERROR(/File) 。如果操作失败,则为 null。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
启用网络监控器
public abstract boolean enableNetworkMonitor ()
启用设备上的网络监控功能。
返回 | |
---|---|
boolean |
如果已成功启用监控,则为 true 。false
如果失败了,则会发生此错误 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
getActiveApexes
public abstractgetActiveApexes ()
提取设备上已激活的 APEX 的相关信息。
返回 | |
---|---|
|
设备上目前已激活 ERROR(/Set) 个(共 ApexInfo 个) |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getAllSettings
public abstractgetAllSettings (String namespace)
返回所请求命名空间的键值对。
参数 | |
---|---|
namespace |
String :必须是 {"system", "secure", "global"} 之一 |
返回 | |
---|---|
|
键值对的映射。如果不支持命名空间,则为 null。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
获取 Android ID
public abstract String getAndroidId (int userId)
查找并返回与 userId 关联的 android-id;如果未找到,则返回 null。
参数 | |
---|---|
userId |
int |
返回 | |
---|---|
String |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getAndroidId
public abstractgetAndroidIds ()
针对找到的 Android ID 创建与用户 ID 匹配的映射。每个用户都没有保险 id 将在此函数中找到一个关联的 Android ID,因此某些用户 ID 可能与 null 匹配。
返回 | |
---|---|
|
找到了与用户 ID 匹配的 Android ID 映射。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getAppPackageInfo
public abstract PackageInfo getAppPackageInfo (String packageName)
提取设备上安装的软件包的相关信息。
参数 | |
---|---|
packageName |
String |
返回 | |
---|---|
PackageInfo |
PackageInfo 或 null (如果无法检索信息) |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getAppPackageInfos
public abstractgetAppPackageInfos ()
提取设备上安装的软件包的相关信息。
返回 | |
---|---|
|
设备上已安装 ERROR(/List) 个(共 PackageInfo 个)。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
获取错误报告
public abstract InputStreamSource getBugreport ()
从设备中检索 bug 报告。
此实现保证可在没有 SD 卡的设备上继续正常工作。 (或尚未装载 SD 卡)。
返回 | |
---|---|
InputStreamSource |
一个 InputStreamSource ,用于按需生成 bug 报告内容。在
如果失败,InputStreamSource 将生成一个空的 ERROR(/InputStream) 。 |
getBugreportz
public abstract InputStreamSource getBugreportz ()
从设备中检索 bugreportz。Zip 格式的错误报告包含主要错误报告和 对调试有用的其他日志文件。
仅适用于“adb 版本”>1.0.36
返回 | |
---|---|
InputStreamSource |
包含 bugreportz 的 ZIP 文件的 InputStreamSource ,在
发生故障的情况 |
getCurrentFoldableState
public abstract DeviceFoldableState getCurrentFoldableState ()
返回设备当前的可折叠状态;如果发生某些问题,则返回 null。
返回 | |
---|---|
DeviceFoldableState |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
获取当前用户
public abstract int getCurrentUser ()
返回当前正在运行的用户的 ID。如果发生错误,则返回 -10000。
返回 | |
---|---|
int |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getFoldableStates
public abstractgetFoldableStates ()
返回设备上的可折叠设备状态列表。可通过“cmd device_state”获取 print-states”。
返回 | |
---|---|
|
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getInstallPackageNames
public abstractgetInstalledPackageNames ()
提取设备上存在的应用软件包名称。
返回 | |
---|---|
|
设备上目前安装的软件包名称为 ERROR(/Set) 个(共 String 个)。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getIpAddress
public abstract String getIpAddress ()
获取设备的 IP 地址。
返回 | |
---|---|
String |
设备的 IP 地址,或者 null (如果设备没有 IP 地址) |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
getKeyguardState
public abstract KeyguardControllerState getKeyguardState ()
返回一个对象以获取键盘锁的当前状态,如果不受支持,则返回 null。
返回 | |
---|---|
KeyguardControllerState |
包含锁屏状态快照的 KeyguardControllerState
如果不支持键盘锁查询,则返回 Null。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
getMainUserId
public abstract Integer getMainUserId ()
返回主要用户 ID。
返回 | |
---|---|
Integer |
主要用户的 userId(如果有);如果没有主要用户,则返回 null。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceRuntimeException |
如果设备的输出不符合预期。 |
DeviceNotAvailableException |
getMainlineModuleInfo
public abstractgetMainlineModuleInfo ()
获取设备上安装的 Mainline 模块的相关信息。
返回 | |
---|---|
|
设备上目前已安装 ERROR(/Set) 个 Mainline 模块(共 String 个)。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
支持运行的用户数达到上限
public abstract int getMaxNumberOfRunningUsersSupported ()
获取支持同时运行的用户数量上限。默认设置为 0。
返回 | |
---|---|
int |
一个整数,表示同时运行的用户数 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
支持的最大用户数
public abstract int getMaxNumberOfUsersSupported ()
获取支持的用户数上限。默认设置为 0。
返回 | |
---|---|
int |
一个整数,表示支持的用户数 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getOptions
public abstract TestDeviceOptions getOptions ()
获取设备的测试选项。
返回 | |
---|---|
TestDeviceOptions |
TestDeviceOptions 与被测设备相关。 |
getPrimaryUserId
public abstract Integer getPrimaryUserId ()
返回主要用户 ID。
返回 | |
---|---|
Integer |
主要用户的 userId(如果有);如果没有主要用户,则返回 null。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceRuntimeException |
如果设备的输出不符合预期。 |
DeviceNotAvailableException |
获取屏幕截图
public abstract InputStreamSource getScreenshot (String format, boolean rescale)
从设备上抓取屏幕截图。建议改用 getScreenshot(String)
并采用 JPEG 编码格式进行压缩。
参数 | |
---|---|
format |
String :支持的 PNG、JPEG |
rescale |
boolean :是否应重新缩放屏幕截图以减小所生成图片的大小 |
返回 | |
---|---|
InputStreamSource |
InputStreamSource 屏幕截图的 格式,null 如果
屏幕截图失败。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
获取屏幕截图
public abstract InputStreamSource getScreenshot (String format)
从设备上抓取屏幕截图。 建议在尺寸较小时使用 getScreenshot(format) 并采用 JPEG 编码
参数 | |
---|---|
format |
String :支持的 PNG、JPEG |
返回 | |
---|---|
InputStreamSource |
屏幕截图的 InputStreamSource (采用格式),或者 null
屏幕截图失败了。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
获取屏幕截图
public abstract InputStreamSource getScreenshot (long displayId)
从指定显示屏 ID 的设备获取屏幕截图。格式为 PNG。
TODO:扩展上述实现以支持“format”和“重新扩缩”
参数 | |
---|---|
displayId |
long :要从中获取屏幕截图的屏幕的显示 ID。 |
返回 | |
---|---|
InputStreamSource |
InputStreamSource 屏幕截图的 格式,null 如果
屏幕截图失败。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
获取屏幕截图
public abstract InputStreamSource getScreenshot ()
从设备上抓取屏幕截图。
返回 | |
---|---|
InputStreamSource |
屏幕截图的 InputStreamSource (采用 png 格式),或者 null
屏幕截图失败了。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getSetting
public abstract String getSetting (int userId, String namespace, String key)
返回所请求设置的值。 命名空间必须为以下项之一:{"system", "secure", "global"}
参数 | |
---|---|
userId |
int |
namespace |
String |
key |
String |
返回 | |
---|---|
String |
与用户的 namespace:key 相关联的值。如果未找到,则为 Null。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getSetting
public abstract String getSetting (String namespace, String key)
请参阅 getSetting(int, String, String)
并在系统用户上执行。
参数 | |
---|---|
namespace |
String |
key |
String |
返回 | |
---|---|
String |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getUninstallablePackageNames
public abstractgetUninstallablePackageNames ()
获取可卸载的应用软件包名称。目前定义为 非系统软件包和更新后的系统软件包
返回 | |
---|---|
|
当前安装的ERROR(/Set) 可卸载String 软件包名称
设备。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getUserFlags
public abstract int getUserFlags (int userId)
查找并返回指定用户的标志。 标志在“android.content.pm.UserInfo”中定义类。
参数 | |
---|---|
userId |
int |
返回 | |
---|---|
int |
与提供的 userId 关联的标记(如果找到),在任何其他情况下为 -10000。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getUserInfo
public abstractgetUserInfos ()
获取设备上的 useId 到 UserInfo
的映射。如果设备的输出不符合预期,则会抛出 DeviceRuntimeException
。
返回 | |
---|---|
|
UserInfo 对象的列表。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
|
com.android.tradefed.device.DeviceRuntimeException |
DeviceNotAvailableException |
getUserSerialNumber
public abstract int getUserSerialNumber (int userId)
如果找到,则返回与 userId 关联的序列号,在任何其他情况下返回 -10000。
参数 | |
---|---|
userId |
int |
返回 | |
---|---|
int |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
hasFeature
public abstract boolean hasFeature (String feature)
检查设备是否支持某项功能。
参数 | |
---|---|
feature |
String :格式应为“feature: |
返回 | |
---|---|
boolean |
如果找到特征,则为 true,否则为 false。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
installPackage
public abstract String installPackage (File packageFile, boolean reinstall, String... extraArgs)
在设备上安装 Android 软件包。
参数 | |
---|---|
packageFile |
File :要安装的 APK 文件 |
reinstall |
boolean :如果应执行重新安装,则为 true |
extraArgs |
String :要传递的额外参数(可选)。请参阅“adb shell pm -h”用于
选项。 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
installPackage
public abstract String installPackage (File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs)
在设备上安装 Android 软件包。
注意:仅适用于需要明确控制在 安装时应调用此函数。
参数 | |
---|---|
packageFile |
File :要安装的 APK 文件 |
reinstall |
boolean :如果应执行重新安装,则为 true |
grantPermissions |
boolean :如果应在安装时授予所有运行时权限 |
extraArgs |
String :要传递的额外参数(可选)。请参阅“adb shell pm -h”用于
选项。 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
UnsupportedOperationException |
如果平台不支持运行时权限 。 |
installPackageForUser
public abstract String installPackageForUser (File packageFile, boolean reinstall, int userId, String... extraArgs)
在设备上安装给定用户的 Android 软件包。
参数 | |
---|---|
packageFile |
File :要安装的 APK 文件 |
reinstall |
boolean :如果应执行重新安装,则为 true |
userId |
int :要安装的整数用户 ID。 |
extraArgs |
String :要传递的额外参数(可选)。请参阅“adb shell pm -h”用于
选项。 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
installPackageForUser
public abstract String installPackageForUser (File packageFile, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)
在设备上安装给定用户的 Android 软件包。
注意:仅适用于需要明确控制在 安装时应调用此函数。
参数 | |
---|---|
packageFile |
File :要安装的 APK 文件 |
reinstall |
boolean :如果应执行重新安装,则为 true |
grantPermissions |
boolean :如果应在安装时授予所有运行时权限 |
userId |
int :要安装的整数用户 ID。 |
extraArgs |
String :要传递的额外参数(可选)。请参阅“adb shell pm -h”用于
选项。 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
UnsupportedOperationException |
如果平台不支持运行时权限 。 |
installPackages
public String installPackages (packageFiles, boolean reinstall, String... extraArgs)
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用。 请参阅“https://developer.android.com/studio/build/configure-apk-splits”如何拆分 APK 多个文件
参数 | |
---|---|
packageFiles |
:本地 APK 文件 |
reinstall |
boolean :如果应执行重新安装,则为 true |
extraArgs |
String :要传递的额外参数(可选)。请参阅“adb shell pm -h”用于
选项。 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
UnsupportedOperationException |
如果平台不支持运行时权限 。 |
installPackages
public String installPackages (packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs)
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用 位于 Android 设备上的应用请参阅 “https://developer.android.com/studio/build/configure-apk-splits”如何拆分 APK 多个文件
注意:仅适用于需要明确控制在 安装时应调用此函数。
参数 | |
---|---|
packageFiles |
:要安装的远程 APK 文件路径 |
reinstall |
boolean :如果应执行重新安装,则为 true |
grantPermissions |
boolean :如果应在安装时授予所有运行时权限 |
extraArgs |
String :要传递的额外参数(可选)。请参阅“adb shell pm -h”用于
选项。 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
UnsupportedOperationException |
如果平台不支持运行时权限 。 |
installPackagesForUser
public String installPackagesForUser (packageFiles, boolean reinstall, int userId, String... extraArgs)
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用 。请参阅“https://developer.android.com/studio/build/configure-apk-splits”已开启 如何将 apk 拆分为多个文件。
参数 | |
---|---|
packageFiles |
:本地 APK 文件 |
reinstall |
boolean :如果应执行重新安装,则为 true |
userId |
int :要安装的整数用户 ID。 |
extraArgs |
String :要传递的额外参数(可选)。请参阅“adb shell pm -h”用于
选项。 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
UnsupportedOperationException |
如果平台不支持运行时权限 。 |
installPackagesForUser
public String installPackagesForUser (packageFiles, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用 。请参阅“https://developer.android.com/studio/build/configure-apk-splits”已开启 如何将 apk 拆分为多个文件。
注意:仅适用于需要明确控制在 安装时应调用此函数。
参数 | |
---|---|
packageFiles |
:本地 APK 文件 |
reinstall |
boolean :如果应执行重新安装,则为 true |
grantPermissions |
boolean :如果应在安装时授予所有运行时权限 |
userId |
int :要安装的整数用户 ID。 |
extraArgs |
String :要传递的额外参数(可选)。请参阅“adb shell pm -h”用于
选项。 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
UnsupportedOperationException |
如果平台不支持运行时权限 。 |
installRemotePackages
public String installRemotePackages (remoteApkPaths, boolean reinstall, String... extraArgs)
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用 位于 Android 设备上的应用请参阅 “https://developer.android.com/studio/build/configure-apk-splits”如何拆分 APK 多个文件
参数 | |
---|---|
remoteApkPaths |
:远程 APK 文件路径 |
reinstall |
boolean :如果应执行重新安装,则为 true |
extraArgs |
String :要传递的额外参数(可选)。请参阅“adb shell pm -h”用于
选项。 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
UnsupportedOperationException |
如果平台不支持运行时权限 。 |
installRemotePackages
public String installRemotePackages (remoteApkPaths, boolean reinstall, boolean grantPermissions, String... extraArgs)
安装由多个 APK 文件(一个主软件包和额外的拆分软件包)组成的 Android 应用 位于 Android 设备上的应用请参阅 “https://developer.android.com/studio/build/configure-apk-splits”如何拆分 APK 多个文件
注意:仅适用于需要明确控制在 安装时应调用此函数。
参数 | |
---|---|
remoteApkPaths |
:远程 APK 文件路径 |
reinstall |
boolean :如果应执行重新安装,则为 true |
grantPermissions |
boolean :如果应在安装时授予所有运行时权限 |
extraArgs |
String :要传递的额外参数(可选)。请参阅“adb shell pm -h”用于
选项。 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
UnsupportedOperationException |
如果平台不支持运行时权限 。 |
isHeadlessSystemUserMode
public abstract boolean isHeadlessSystemUserMode ()
返回设备是否使用无头系统用户模式的指示值。
返回 | |
---|---|
boolean |
抛出 | |
---|---|
DeviceNotAvailableException |
isMainUserPermanentAdmin
public abstract boolean isMainUserPermanentAdmin ()
返回主要用户是否为永久管理员且无法删除或降级为的信息 非管理员状态。
返回 | |
---|---|
boolean |
抛出 | |
---|---|
DeviceNotAvailableException |
支持多用户
public abstract boolean isMultiUserSupported ()
确定是否支持多用户。
返回 | |
---|---|
boolean |
如果支持多用户,则为 true,否则为 false |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
isPackageInstall
public abstract boolean isPackageInstalled (String packageName, String userId)
针对指定的软件包名称和用户 ID 查询设备,检查其当前是否位于 安装或未安装。
参数 | |
---|---|
packageName |
String :要检查其是否已安装的软件包。 |
userId |
String :我们正在检查软件包的安装情况的用户 ID。如果为 null,则是主要用户
使用的都是 0 |
返回 | |
---|---|
boolean |
如果软件包报告为已安装,则为 true。否则为 false。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
isPackageInstall
public abstract boolean isPackageInstalled (String packageName)
查询设备以获取给定的软件包名称,检查设备当前是否已安装。
参数 | |
---|---|
packageName |
String |
返回 | |
---|---|
boolean |
如果软件包报告为已安装,则为 true。否则为 false。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
isUserRunning
public abstract boolean isUserRunning (int userId)
检查指定用户是否正在运行。
参数 | |
---|---|
userId |
int |
返回 | |
---|---|
boolean |
如果用户正在运行,则为 true;在所有其他情况下,则为 false。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
是次要用户
public abstract boolean isUserSecondary (int userId)
根据其标记返回指定用户是否为次要用户。
参数 | |
---|---|
userId |
int |
返回 | |
---|---|
boolean |
如果用户为次要用户,则为 true,否则为 false。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
isUserVisible(用户可见)
public abstract boolean isUserVisible (int userId)
检查指定用户是否可见。
“可见的”用户是指正在与“人类”用户也因此能够 启动启动 activity(通常使用默认显示屏)。
参数 | |
---|---|
userId |
int |
返回 | |
---|---|
boolean |
抛出 | |
---|---|
DeviceNotAvailableException |
isUserVisibleOnDisplay
public abstract boolean isUserVisibleOnDisplay (int userId, int displayId)
检查指定用户是否在给定显示屏中可见。
“可见的”用户是指正在与“人类”用户也因此能够 启动 activity。
参数 | |
---|---|
userId |
int |
displayId |
int |
返回 | |
---|---|
boolean |
抛出 | |
---|---|
DeviceNotAvailableException |
isVisibleBackgroundUsersOnDefaultDisplaySupported
public abstract boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()
返回设备是否允许在 ERROR(/java.android.view.Display#DEFAULT_DISPLAY)
中在后台启动用户。
如果支持,您可以调用 startVisibleBackgroundUser(int, int, boolean)
,并传递
listDisplayIdsForStartingVisibleBackgroundUsers()
返回的一个屏幕,
应包含 ERROR(/java.android.view.Display#DEFAULT_DISPLAY)
)。
返回 | |
---|---|
boolean |
抛出 | |
---|---|
DeviceNotAvailableException |
isVisibleBackgroundUsersSupported 支持
public abstract boolean isVisibleBackgroundUsersSupported ()
返回设备是否允许用户在后台启动。
如果支持,您可以调用 startVisibleBackgroundUser(int, int, boolean)
,并传递
listDisplayIdsForStartingVisibleBackgroundUsers()
返回的屏幕。
返回 | |
---|---|
boolean |
抛出 | |
---|---|
DeviceNotAvailableException |
isWifiEnabled
public abstract boolean isWifiEnabled ()
测试 Wi-Fi 是否已启用。
检查设备是否启用了 Wi-Fi。用于在测试之前断言 Wi-Fi 状态 不得使用 Wi-Fi 运行,例如移动数据测试。
返回 | |
---|---|
boolean |
true (如果已启用 Wi-Fi)。false (如果已停用) |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
listDisplayIds
public abstractlistDisplayIds ()
收集设备上由“dumpsys”报告的可用屏幕 ID 的列表 SurfaceFlinger”。
返回 | |
---|---|
|
显示设备列表。Default 始终返回默认显示屏 0。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
listDisplayIdsForStartingVisibleBackgroundUsers
public abstractlistDisplayIdsForStartingVisibleBackgroundUsers ()
获取可用于 start a user visible in the background
的屏幕的列表。
返回 | |
---|---|
|
抛出 | |
---|---|
DeviceNotAvailableException |
listUsers
public abstractlistUsers ()
获取设备上的用户列表。如果输出,则会抛出 DeviceRuntimeException
与预期不符。
返回 | |
---|---|
|
用户 ID 的列表。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
|
com.android.tradefed.device.DeviceRuntimeException |
DeviceNotAvailableException |
logBugreport
public abstract boolean logBugreport (String dataName, ITestLogger listener)
用于生成 bug 报告并将其记录给报告者的辅助方法。
参数 | |
---|---|
dataName |
String :用于报告 bug 报告的名称。 |
listener |
ITestLogger :用于记录 bug 报告的 ITestLogger 。 |
返回 | |
---|---|
boolean |
如果记录成功,则为 true,否则为 false。 |
通知 Snapuserd
public void notifySnapuserd (SnapuserdWaitPhase waitPhase)
通知设备等待 Snapuserd 完成。
参数 | |
---|---|
waitPhase |
SnapuserdWaitPhase |
registerDeviceActionReceiver
public abstract void registerDeviceActionReceiver (IDeviceActionReceiver deviceActionReceiver)
为此设备注册 IDeviceActionReceiver
。
所有已注册的IDeviceActionReceiver
都会在设备操作前收到通知
启动和在设备操作结束后触发。
参数 | |
---|---|
deviceActionReceiver |
IDeviceActionReceiver :将注册的 IDeviceActionReceiver 。 |
移除管理员
public abstract boolean removeAdmin (String componentName, int userId)
移除指定用户的指定设备管理员,如果操作成功,则返回 true
,否则返回 false
。
参数 | |
---|---|
componentName |
String :要移除的设备管理员。 |
userId |
int :设备管理员所在用户的用户。 |
返回 | |
---|---|
boolean |
如果成功则为 true,否则为 false。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
移除所有者
public abstract void removeOwners ()
尽可能移除所有现有的设备配置文件所有者。
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
移除用户
public abstract boolean removeUser (int userId)
从设备中移除指定用户。
参数 | |
---|---|
userId |
int :要移除的用户 |
返回 | |
---|---|
boolean |
如果成功移除了用户,则为 true,否则为 false。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
setDeviceOwner
public abstract boolean setDeviceOwner (String componentName, int userId)
将设备管理组件设为指定用户的设备所有者。
参数 | |
---|---|
componentName |
String :由设备管理员担任设备所有者。 |
userId |
int :设备所有者所在用户的名称。 |
返回 | |
---|---|
boolean |
如果成功则为 true,否则为 false。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
setSetting
public abstract void setSetting (String namespace, String key, String value)
请参阅 setSetting(int, String, String, String)
并在系统用户上执行。
参数 | |
---|---|
namespace |
String |
key |
String |
value |
String |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
setSetting
public abstract void setSetting (int userId, String namespace, String key, String value)
将设置值添加到指定用户的命名空间。部分设置将不可用 。 命名空间必须为以下项之一:{"system", "secure", "global"}
参数 | |
---|---|
userId |
int |
namespace |
String |
key |
String |
value |
String |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
startUser
public abstract boolean startUser (int userId)
在后台启动指定用户(如果当前已停止)。如果用户已经 则此方法为 NOOP。
参数 | |
---|---|
userId |
int :要在后台启动的用户 |
返回 | |
---|---|
boolean |
如果用户在后台成功启动,则为 true。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
startUser
public abstract boolean startUser (int userId, boolean waitFlag)
在后台启动指定用户(如果当前已停止)。如果用户已经 则此方法为 NOOP。可以提供额外的标志来等待 才能使操作生效。
参数 | |
---|---|
userId |
int :要在后台启动的用户 |
waitFlag |
boolean :会使该命令等待用户启动并解锁。 |
返回 | |
---|---|
boolean |
如果用户在后台成功启动,则为 true。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
startVisibleBackgroundUser
public abstract boolean startVisibleBackgroundUser (int userId, int displayId, boolean waitFlag)
在后台启动指定用户,在指定的显示屏中处于可见状态(即允许用户 以在该显示屏中启动 activity)。
注意 :此命令不会检查用户是否存在、显示可用、device supports such feature
等。
参数 | |
---|---|
userId |
int :要在后台启动的用户 |
displayId |
int :用于启动用户可见的显示屏 |
waitFlag |
boolean :会使该命令等待用户启动并解锁。 |
返回 | |
---|---|
boolean |
如果用户成功启动,则在后台可见,值为 true 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
stopUser
public abstract boolean stopUser (int userId)
停止指定用户。如果用户已停止,则此方法为 NOOP。 无法停止当前用户和系统用户。
参数 | |
---|---|
userId |
int :要停止的用户。 |
返回 | |
---|---|
boolean |
如果用户被成功停止,则为 true。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
stopUser
public abstract boolean stopUser (int userId, boolean waitFlag, boolean forceFlag)
停止指定用户。可以提供额外的标志以等待操作生效, 并强制终止用户无法停止当前用户和系统用户。
参数 | |
---|---|
userId |
int :要停止的用户。 |
waitFlag |
boolean :会使该命令等待用户停止。 |
forceFlag |
boolean :会强行停止用户。 |
返回 | |
---|---|
boolean |
如果用户被成功停止,则为 true。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
切换用户
public abstract boolean switchUser (int userId)
切换到具有默认超时的另一个 userId。switchUser(int, long)
。
参数 | |
---|---|
userId |
int |
返回 | |
---|---|
boolean |
如果新的 userId 与 userId 提供方匹配,则返回 true。否则为 false。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
切换用户
public abstract boolean switchUser (int userId, long timeout)
切换到另一个以所提供的超时作为截止时间的用户 ID。 更改用户成功后尝试停用键盘锁。
参数 | |
---|---|
userId |
int |
timeout |
long :在切换用户失败后返回 false。 |
返回 | |
---|---|
boolean |
如果新的 userId 与 userId 提供方匹配,则返回 true。否则为 false。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
takeBugreport
public abstract Bugreport takeBugreport ()
获取 bug 报告并在 Bugreport
对象内返回该报告进行处理。返回 null
出现任何问题。Bugreport 对象中引用的文件需要通过 Bugreport.close()
进行清理。
返回 | |
---|---|
Bugreport |
卸载软件包
public abstract String uninstallPackage (String packageName)
从设备上卸载 Android 软件包。
参数 | |
---|---|
packageName |
String :要卸载的 Android 软件包 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
downloadPackageForUser
public abstract String uninstallPackageForUser (String packageName, int userId)
从设备中卸载指定用户的 Android 软件包。
参数 | |
---|---|
packageName |
String :要卸载的 Android 软件包 |
userId |
int :要卸载的整数用户 ID。 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则为 null 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
如果与设备的连接已断开且无法连接 已恢复。 |
waitForSnapuserd
public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)
如果符合预期,请等待 Snapuserd 完成任务。
参数 | |
---|---|
currentPhase |
SnapuserdWaitPhase |
抛出 | |
---|---|
DeviceNotAvailableException |