ITestDevice
public
interface
ITestDevice
implements
INativeDevice
| com.android.tradefed.device.ITestDevice |
提供可靠且稍高層級的 API 給 ddmlib IDevice。
可設定裝置指令的重試次數,並為沒有回應的裝置提供裝置復原介面。
摘要
巢狀類別 | |
|---|---|
class |
ITestDevice.ApexInfo
簡單的結構體類別,用於儲存單一 APEX 的相關資訊 |
class |
ITestDevice.MountPointInfo
簡單的結構體類別,用於儲存單一掛接點的相關資訊 |
公用方法 | |
|---|---|
abstract
boolean
|
canSwitchToHeadlessSystemUser()
傳回是否允許切換至無使用者介面系統使用者。 |
abstract
boolean
|
checkConnectivity()
確認裝置已連上網路。 |
abstract
boolean
|
clearErrorDialogs()
嘗試關閉裝置 UI 目前顯示的任何錯誤對話方塊。 |
abstract
void
|
clearLastConnectedWifiNetwork()
清除上次連線的 Wi-Fi 網路。 |
abstract
boolean
|
connectToWifiNetwork(
連線至 Wi-Fi 網路。 |
abstract
boolean
|
connectToWifiNetwork(
連線至 Wi-Fi 網路。 |
abstract
boolean
|
connectToWifiNetwork(String wifiSsid, String wifiPsk)
連線至 Wi-Fi 網路。 |
abstract
boolean
|
connectToWifiNetwork(String wifiSsid, String wifiPsk, boolean scanSsid)
連線至 Wi-Fi 網路。 |
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()
Attempts to disable the keyguard. |
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)
Find and return the android-id associated to a userId, null if not found. |
abstract
|
getAndroidIds()
建立與相符使用者 ID 相關聯的 Android ID 對應。 |
abstract
PackageInfo
|
getAppPackageInfo(String packageName)
擷取裝置上安裝的套件相關資訊。 |
abstract
|
getAppPackageInfos()
擷取裝置上安裝的套件資訊。 |
abstract
InputStreamSource
|
getBugreport()
從裝置擷取錯誤報告。 |
abstract
InputStreamSource
|
getBugreportz()
從裝置擷取錯誤報告。 |
abstract
DeviceFoldableState
|
getCurrentFoldableState()
傳回裝置目前的折疊狀態,如果發生問題則傳回 null。 |
abstract
int
|
getCurrentUser()
傳回目前執行使用者的 ID。 |
abstract
|
getFoldableStates()
傳回裝置上的摺疊狀態清單。 |
abstract
|
getInstalledPackageNames()
擷取裝置上的應用程式套件名稱。 |
abstract
String
|
getIpAddress()
取得裝置的 IP 位址。 |
abstract
KeyguardControllerState
|
getKeyguardState()
傳回物件以取得螢幕鎖定目前的狀態,如果系統不支援,則傳回空值。 |
abstract
Integer
|
getMainUserId()
傳回主要使用者 ID。 |
abstract
|
getMainlineModuleInfo()
取得裝置上安裝的主線模組相關資訊。 |
abstract
int
|
getMaxNumberOfRunningUsersSupported()
取得支援同時執行的使用者人數上限。 |
abstract
int
|
getMaxNumberOfUsersSupported()
取得支援的使用者人數上限。 |
abstract
TestDeviceOptions
|
getOptions()
擷取裝置的測試選項。 |
abstract
Integer
|
getPrimaryUserId()
這個方法已淘汰。
UserManager 服務已淘汰 getPrimaryUser,請使用 |
abstract
InputStreamSource
|
getScreenshot(String format, boolean rescale)
擷取裝置的螢幕截圖。 |
abstract
InputStreamSource
|
getScreenshot(long displayId)
從指定顯示器 ID 的裝置擷取螢幕截圖。 |
abstract
InputStreamSource
|
getScreenshot(String format)
擷取裝置的螢幕截圖。 |
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 套件。 |
abstract
boolean
|
installPackageWithIncrementalMode(File[] apkFiles, String[] extraArgs, String userId)
以遞增模式安裝 APK。 |
default
String
|
installPackages(
安裝由多個 APK 檔案 (一個主要套件和額外的分割套件) 組成的 Android 應用程式。 |
default
String
|
installPackages(
在 Android 裝置上安裝由多個 APK 檔案 (一個主要檔案和額外的分割套件) 組成的 Android 應用程式。 |
default
String
|
installPackagesForUser(
為特定使用者安裝由多個 APK 檔案 (一個主要檔案和額外的分割套件) 組成的 Android 應用程式。 |
default
String
|
installPackagesForUser(
為特定使用者安裝由多個 APK 檔案 (一個主要檔案和額外的分割套件) 組成的 Android 應用程式。 |
default
String
|
installRemotePackages(
安裝由多個 APK 檔案 (一個主要套件和額外的分割套件) 組成的 Android 應用程式,這些檔案位於 Android 裝置上。 |
default
String
|
installRemotePackages(
在 Android 裝置上安裝由多個 APK 檔案 (一個主要檔案和額外的分割套件) 組成的 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()
Returns whether the device allow users to be started visible in the background. |
abstract
boolean
|
isWifiEnabled()
測試 Wi-Fi 是否已啟用。 |
abstract
|
listDisplayIds()
收集裝置上「dumpsys SurfaceFlinger」回報的可用螢幕 ID 清單。 |
abstract
|
listDisplayIdsForStartingVisibleBackgroundUsers()
取得可用於 |
abstract
|
listUsers()
取得裝置上的使用者清單。 |
abstract
boolean
|
logBugreport(String dataName, ITestLogger listener)
輔助方法,可擷取錯誤報告並記錄到回報者。 |
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)
在指定螢幕上啟動指定使用者 (即允許使用者在該螢幕上啟動活動)。 |
abstract
boolean
|
stopUser(int userId)
停止指定使用者。 |
abstract
boolean
|
stopUser(int userId, boolean waitFlag, boolean forceFlag)
停止特定使用者。 |
abstract
boolean
|
switchUser(int userId)
切換至其他使用者 ID,並使用預設逾時。 |
abstract
boolean
|
switchUser(int userId, long timeout)
在提供的逾時期限內切換至其他 userId。 |
abstract
Bugreport
|
takeBugreport()
擷取錯誤報告,並在 |
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 ()
傳回是否允許切換至無使用者介面系統使用者。
| 傳回 | |
|---|---|
boolean |
|
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
checkConnectivity
public abstract boolean checkConnectivity ()
確認裝置已連上網路。
| 傳回 | |
|---|---|
boolean |
true 如果裝置的網路連線正常,
false 否則。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
clearErrorDialogs
public abstract boolean clearErrorDialogs ()
嘗試關閉裝置 UI 目前顯示的任何錯誤對話方塊。
| 傳回 | |
|---|---|
boolean |
true 如果沒有對話方塊,或對話方塊已成功清除。
其他情況則為 false。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
clearLastConnectedWifiNetwork
public abstract void clearLastConnectedWifiNetwork ()
清除上次連線的 Wi-Fi 網路。啟動新的叫用時,應呼叫此函式,避免裝置重新啟動後連線至先前測試使用的 Wi-Fi 網路。
connectToWifiNetwork
public abstract boolean connectToWifiNetwork (wifiSsidToPsk)
連線至 Wi-Fi 網路。
開啟 Wi-Fi 並封鎖,直到與 wifiSsidToPsk 對應項中提供的其中一個 Wi-Fi 網路成功連線為止。連線建立後,執行個體會在每次重新啟動後嘗試還原連線,直到呼叫 ITestDevice.disconnectFromWifi() 或 ITestDevice.clearLastConnectedWifiNetwork() 為止。
| 參數 | |
|---|---|
wifiSsidToPsk |
:Wi-Fi SSID 對應密碼的地圖。 |
| 傳回 | |
|---|---|
boolean |
true (如果已成功連上 Wi-Fi 網路)。false
否則 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
connectToWifiNetwork
public abstract boolean connectToWifiNetwork (wifiSsidToPsk, boolean scanSsid)
連線至 Wi-Fi 網路。
開啟 Wi-Fi 並封鎖,直到與 wifiSsidToPsk 對應項中提供的其中一個 Wi-Fi 網路成功連線為止。連線建立後,執行個體會在每次重新啟動後嘗試還原連線,直到呼叫 ITestDevice.disconnectFromWifi() 或 ITestDevice.clearLastConnectedWifiNetwork() 為止。
| 參數 | |
|---|---|
wifiSsidToPsk |
:Wi-Fi SSID 對應密碼的地圖。 |
scanSsid |
boolean:是否掃描這個網路的隱藏 SSID。 |
| 傳回 | |
|---|---|
boolean |
true (如果已成功連上 Wi-Fi 網路)。false
否則 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
connectToWifiNetwork
public abstract boolean connectToWifiNetwork (String wifiSsid,
String wifiPsk)連線至 Wi-Fi 網路。
開啟 Wi-Fi 並封鎖,直到成功連線至指定的 Wi-Fi 網路。
連線建立後,執行個體會在每次重新啟動後嘗試還原連線,直到呼叫 ITestDevice.disconnectFromWifi() 或 ITestDevice.clearLastConnectedWifiNetwork() 為止。
| 參數 | |
|---|---|
wifiSsid |
String:要連線的 Wi-Fi SSID |
wifiPsk |
String:PSK 密碼片語,或未加密時為空值 |
| 傳回 | |
|---|---|
boolean |
true (如果已成功連上 Wi-Fi 網路)。false
否則 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
connectToWifiNetwork
public abstract boolean connectToWifiNetwork (String wifiSsid,
String wifiPsk,
boolean scanSsid)連線至 Wi-Fi 網路。
開啟 Wi-Fi 並封鎖,直到成功連線至指定的 Wi-Fi 網路。
連線建立後,執行個體會在每次重新啟動後嘗試還原連線,直到呼叫 ITestDevice.disconnectFromWifi() 或 ITestDevice.clearLastConnectedWifiNetwork() 為止。
| 參數 | |
|---|---|
wifiSsid |
String:要連線的 Wi-Fi SSID |
wifiPsk |
String:PSK 密碼片語,或未加密時為空值 |
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:在建立期間啟用使用者旗標 --ephemeral |
| 傳回 | |
|---|---|
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:在建立期間啟用使用者旗標 --ephemeral |
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。 |
disableKeyguard
public abstract void disableKeyguard ()
嘗試停用 Keyguard。
首先,請等待輸入調度作業準備就緒,這大約會在裝置回報 BOOT_COMPLETE 時發生 (顯然是非同步作業),因為目前的架構實作偶爾會出現競爭情況。然後傳送指令來關閉 Keyguard (僅適用於非安全裝置)
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
disableNetworkMonitor
public abstract boolean disableNetworkMonitor ()
停用裝置上的網路監控功能。
| 傳回 | |
|---|---|
boolean |
true (如果成功停用監控功能)。false
(如果失敗)。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
disconnectFromWifi
public abstract boolean disconnectFromWifi ()
中斷 Wi-Fi 網路連線。
從已知網路清單中移除所有網路,並停用 Wi-Fi。
| 傳回 | |
|---|---|
boolean |
true (如果已成功中斷 Wi-Fi 網路連線)。false
if disconnect failed. |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
doesFileExist
public abstract boolean doesFileExist (String deviceFilePath,
int userId)輔助方法,用於判斷特定使用者的裝置上是否有檔案。
| 參數 | |
|---|---|
deviceFilePath |
String:裝置上要檢查的檔案絕對路徑 |
userId |
int:要檢查檔案是否存在的使用者 ID |
| 傳回 | |
|---|---|
boolean |
如果檔案存在,則為 true,否則為 false。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
dumpHeap
public abstract File dumpHeap (String process,
String devicePath)嘗試從 system_server 傾印堆積。呼叫端有責任清除傾印的檔案。
| 參數 | |
|---|---|
process |
String:要傾印堆積的裝置程序名稱。 |
devicePath |
String:裝置上要放置傾印內容的路徑。這個位置必須是權限允許的位置。 |
| 傳回 | |
|---|---|
File |
包含報表的 ERROR(/File)。如果發生錯誤,則為空值。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
enableNetworkMonitor
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"} 其中之一 |
| 傳回 | |
|---|---|
|
鍵/值組合對應。如果系統不支援命名空間,則為空值。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
getAndroidId
public abstract String getAndroidId (int userId)
尋找並傳回與 userId 相關聯的 android-id,如果找不到則傳回 null。
| 參數 | |
|---|---|
userId |
int |
| 傳回 | |
|---|---|
String |
|
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
getAndroidIds
public abstractgetAndroidIds ()
建立與相符使用者 ID 對應的 Android ID 對應。無法保證每個使用者 ID 都能在這個函式中找到相關聯的 Android ID,因此部分使用者 ID 可能會比對到空值。
| 傳回 | |
|---|---|
|
找到與使用者 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 |
|
getBugreport
public abstract InputStreamSource getBugreport ()
從裝置擷取錯誤報告。
保證這項實作項目在沒有 SD 卡的裝置上 (或 SD 卡尚未掛接時) 仍可繼續運作。
| 傳回 | |
|---|---|
InputStreamSource |
InputStreamSource,可視需要產生錯誤報告內容。如果失敗,InputStreamSource 會產生空白 ERROR(/InputStream)。 |
getBugreportz
public abstract InputStreamSource getBugreportz ()
從裝置擷取錯誤報告。ZIP 格式的錯誤報告包含主要錯誤報告,以及有助於偵錯的其他記錄檔。
僅支援「adb version」> 1.0.36
| 傳回 | |
|---|---|
InputStreamSource |
包含 bugreportz 的 zip 檔案的 InputStreamSource,如果失敗則傳回空值。 |
getCurrentFoldableState
public abstract DeviceFoldableState getCurrentFoldableState ()
傳回裝置目前的折疊狀態,或在發生問題時傳回空值。
| 傳回 | |
|---|---|
DeviceFoldableState |
|
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
getCurrentUser
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 |
|
getInstalledPackageNames
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 ()
傳回物件即可取得 Keyguard 的目前狀態,如果系統不支援,則傳回空值。
| 傳回 | |
|---|---|
KeyguardControllerState |
包含 Keyguard 狀態快照的 KeyguardControllerState,如果系統不支援 Keyguard 查詢,則傳回 Null。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
getMainUserId
public abstract Integer getMainUserId ()
傳回主要使用者 ID。
| 傳回 | |
|---|---|
Integer |
主要使用者的 userId (如有),如果沒有主要使用者,則為空值。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceRuntimeException |
裝置輸出內容與預期不符。 |
DeviceNotAvailableException |
|
getMainlineModuleInfo
public abstractgetMainlineModuleInfo ()
取得裝置上安裝的 Mainline 模組相關資訊。
| 傳回 | |
|---|---|
|
裝置目前安裝的 ERROR(/Set) 個String主線模組。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
getMaxNumberOfRunningUsersSupported
public abstract int getMaxNumberOfRunningUsersSupported ()
取得支援同時執行的使用者人數上限。預設為 0。
| 傳回 | |
|---|---|
int |
表示同時執行的使用者人數的整數 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
getMaxNumberOfUsersSupported
public abstract int getMaxNumberOfUsersSupported ()
取得支援的使用者人數上限。預設為 0。
| 傳回 | |
|---|---|
int |
整數,表示支援的使用者人數 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
getOptions
public abstract TestDeviceOptions getOptions ()
擷取裝置的測試選項。
| 傳回 | |
|---|---|
TestDeviceOptions |
TestDeviceOptions 相關的裝置。 |
getPrimaryUserId
public abstract Integer getPrimaryUserId ()
這個方法已淘汰。
UserManager 服務已淘汰 getPrimaryUser,請使用 ERROR(/android.os.UserManager#getMainUserId()) 取得第一個完整使用者
或系統的 0。請注意,無頭系統並非完整使用者。
傳回主要使用者 ID。
| 傳回 | |
|---|---|
Integer |
主要使用者的 userId (如有),如果沒有主要使用者,則為空值。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceRuntimeException |
裝置輸出內容與預期不符。 |
DeviceNotAvailableException |
|
getScreenshot
public abstract InputStreamSource getScreenshot (String format, boolean rescale)
擷取裝置的螢幕截圖。建議改用 getScreenshot(String),並採用 JPEG 編碼,以縮小大小。
| 參數 | |
|---|---|
format |
String:支援 PNG、JPEG |
rescale |
boolean:是否應重新調整螢幕截圖大小,以縮減產生的圖片大小 |
| 傳回 | |
|---|---|
InputStreamSource |
螢幕截圖的格式,或 null (如果螢幕截圖未成功)。InputStreamSource |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
getScreenshot
public abstract InputStreamSource getScreenshot (long displayId)
從指定顯示器 ID 的裝置擷取螢幕截圖。格式為 PNG。
TODO: extend the implementations above to support 'format' and 'rescale'
| 參數 | |
|---|---|
displayId |
long:要擷取螢幕截圖的螢幕顯示 ID。 |
| 傳回 | |
|---|---|
InputStreamSource |
螢幕截圖的格式,或 null (如果螢幕截圖未成功)。InputStreamSource |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
getScreenshot
public abstract InputStreamSource getScreenshot (String format)
擷取裝置的螢幕截圖。 建議改用 getScreenshot(format),並採用 JPEG 編碼,以縮減大小
| 參數 | |
|---|---|
format |
String:支援 PNG、JPEG |
| 傳回 | |
|---|---|
InputStreamSource |
螢幕截圖的格式,或 null (如果螢幕截圖未成功)。InputStreamSource |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
getScreenshot
public abstract InputStreamSource getScreenshot ()
擷取裝置的螢幕截圖。
| 傳回 | |
|---|---|
InputStreamSource |
png 格式的螢幕截圖 InputStreamSource,或 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 |
與使用者命名空間:索引鍵相關聯的值。如果找不到,則為空值。 |
| 擲回 | |
|---|---|
|
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 開放原始碼計畫的「android.content.pm.UserInfo」類別中。
| 參數 | |
|---|---|
userId |
int |
| 傳回 | |
|---|---|
int |
如果找到與所提供 userId 相關聯的旗標,則傳回這些旗標;否則傳回 -10000。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
getUserInfos
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 |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
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 |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
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 |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
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 |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
UnsupportedOperationException |
如果裝置上的平台不支援執行階段權限。 |
installPackageWithIncrementalMode
public abstract boolean installPackageWithIncrementalMode (File[] apkFiles,
String[] extraArgs,
String userId)以漸進模式安裝 APK。
| 參數 | |
|---|---|
apkFiles |
File:要安裝的 APK 檔案。 |
extraArgs |
String |
userId |
String |
| 傳回 | |
|---|---|
boolean |
|
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
installPackages
public String installPackages (packageFiles, boolean reinstall, String... extraArgs)
安裝由多個 APK 檔案組成的 Android 應用程式 (一個主要套件和額外的分割套件)。如要將 APK 分割成多個檔案,請參閱「https://developer.android.com/studio/build/configure-apk-splits」。
| 參數 | |
|---|---|
packageFiles |
:本機 APK 檔案 |
reinstall |
boolean:是否應執行重新安裝,true 表示是 |
extraArgs |
String:要傳遞的選用額外引數。如要查看可用選項,請參閱「adb shell pm -h」。 |
| 傳回 | |
|---|---|
String |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
UnsupportedOperationException |
如果裝置上的平台不支援執行階段權限。 |
installPackages
public String installPackages (packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs)
在 Android 裝置上安裝由多個 APK 檔案 (一個主要套件和額外的分割套件) 組成的 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 |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
UnsupportedOperationException |
如果裝置上的平台不支援執行階段權限。 |
installPackagesForUser
public String installPackagesForUser (packageFiles, boolean reinstall, int userId, String... extraArgs)
為特定使用者安裝由多個 APK 檔案 (一個主要檔案和額外的分割套件) 組成的 Android 應用程式。如要瞭解如何將 APK 分割成多個檔案,請參閱「https://developer.android.com/studio/build/configure-apk-splits」。
| 參數 | |
|---|---|
packageFiles |
:本機 APK 檔案 |
reinstall |
boolean:是否應執行重新安裝,true 表示是 |
userId |
int:要安裝的整數使用者 ID。 |
extraArgs |
String:要傳遞的選用額外引數。如要查看可用選項,請參閱「adb shell pm -h」。 |
| 傳回 | |
|---|---|
String |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
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 |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
UnsupportedOperationException |
如果裝置上的平台不支援執行階段權限。 |
installRemotePackages
public String installRemotePackages (remoteApkPaths, boolean reinstall, String... extraArgs)
在 Android 裝置上安裝由多個 APK 檔案 (一個主要檔案和額外的分割套件) 組成的 Android 應用程式。如要將 APK 分割成多個檔案,請參閱「https://developer.android.com/studio/build/configure-apk-splits」。
| 參數 | |
|---|---|
remoteApkPaths |
:遠端 APK 檔案路徑 |
reinstall |
boolean:是否應執行重新安裝,true 表示是 |
extraArgs |
String:要傳遞的選用額外引數。如要查看可用選項,請參閱「adb shell pm -h」。 |
| 傳回 | |
|---|---|
String |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
UnsupportedOperationException |
如果裝置上的平台不支援執行階段權限。 |
installRemotePackages
public String installRemotePackages (remoteApkPaths, boolean reinstall, boolean grantPermissions, String... extraArgs)
在 Android 裝置上安裝由多個 APK 檔案 (一個主要套件和額外的分割套件) 組成的 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 |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
UnsupportedOperationException |
如果裝置上的平台不支援執行階段權限。 |
isHeadlessSystemUserMode
public abstract boolean isHeadlessSystemUserMode ()
傳回裝置是否使用無頭系統使用者模式。
| 傳回 | |
|---|---|
boolean |
|
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
isMainUserPermanentAdmin
public abstract boolean isMainUserPermanentAdmin ()
傳回主要使用者是否為永久管理員,且無法刪除或降級為非管理員狀態。
| 傳回 | |
|---|---|
boolean |
|
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
isMultiUserSupported
public abstract boolean isMultiUserSupported ()
判斷是否支援多位使用者。
| 傳回 | |
|---|---|
boolean |
如果支援多使用者,則為 true,否則為 false |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
isPackageInstalled
public abstract boolean isPackageInstalled (String packageName,
String userId)針對特定套件名稱和使用者 ID 查詢裝置,檢查該使用者目前是否已安裝應用程式。
| 參數 | |
|---|---|
packageName |
String:我們要檢查是否已安裝的套件。 |
userId |
String:我們要檢查套件是否已為該使用者安裝。如果為空值,系統會使用主要使用者零。 |
| 傳回 | |
|---|---|
boolean |
如果套件回報為已安裝,則為 True。否則傳回「false」。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
isPackageInstalled
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 |
|
isUserSecondary
public abstract boolean isUserSecondary (int userId)
根據指定使用者的旗標,傳回該使用者是否為次要使用者。
| 參數 | |
|---|---|
userId |
int |
| 傳回 | |
|---|---|
boolean |
如果使用者是次要使用者,則為 true,否則為 false。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
isUserVisible
public abstract boolean isUserVisible (int userId)
檢查指定使用者是否可見。
「可見」使用者是指與「真人」使用者互動的使用者,因此能夠啟動啟動活動 (通常是在預設螢幕上)。
| 參數 | |
|---|---|
userId |
int |
| 傳回 | |
|---|---|
boolean |
|
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
isUserVisibleOnDisplay
public abstract boolean isUserVisibleOnDisplay (int userId,
int displayId)檢查指定使用者是否在指定螢幕上可見。
「可見」使用者是指與「真人」使用者互動的使用者,因此能夠在該螢幕中啟動活動。
| 參數 | |
|---|---|
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 SurfaceFlinger」回報的可用螢幕 ID 清單。
| 傳回 | |
|---|---|
|
螢幕清單。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)輔助方法:擷取錯誤報告並記錄給回報者。
| 參數 | |
|---|---|
dataName |
String:要回報錯誤報告的名稱。 |
listener |
ITestLogger:用於記錄錯誤報告的 ITestLogger。 |
| 傳回 | |
|---|---|
boolean |
如果記錄成功,則為 True,否則為 False。 |
notifySnapuserd
public void notifySnapuserd (SnapuserdWaitPhase waitPhase)
通知裝置等待 snapuserd 完成。
| 參數 | |
|---|---|
waitPhase |
SnapuserdWaitPhase |
registerDeviceActionReceiver
public abstract void registerDeviceActionReceiver (IDeviceActionReceiver deviceActionReceiver)
為這部裝置註冊 IDeviceActionReceiver。
裝置動作開始前和結束後,系統都會通知所有已註冊的 IDeviceActionReceiver。
| 參數 | |
|---|---|
deviceActionReceiver |
IDeviceActionReceiver:要註冊的 IDeviceActionReceiver。 |
removeAdmin
public abstract boolean removeAdmin (String componentName,
int userId)移除指定使用者中指定的裝置管理員,如果成功則傳回 true,否則傳回 false。
| 參數 | |
|---|---|
componentName |
String:要移除的裝置管理員。 |
userId |
int:裝置管理員所在的使用者。 |
| 傳回 | |
|---|---|
boolean |
成功時為 True,否則為 False。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
removeOwners
public abstract void removeOwners ()
盡可能移除所有現有的裝置設定檔擁有者。
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
removeUser
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)在指定螢幕中啟動指定使用者 (即允許使用者在該螢幕中啟動活動)。
注意: 這項指令不會檢查使用者是否存在、顯示器是否可用、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 |
|
switchUser
public abstract boolean switchUser (int userId)
切換至其他使用者 ID,並使用預設逾時。switchUser(int, long)。
| 參數 | |
|---|---|
userId |
int |
| 傳回 | |
|---|---|
boolean |
如果新使用者 ID 與使用者 ID 供應商相符,則為 True。否則傳回「false」。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
switchUser
public abstract boolean switchUser (int userId,
long timeout)在提供的逾時期限內切換至其他使用者 ID。 使用者變更成功後,嘗試停用 Keyguard。
| 參數 | |
|---|---|
userId |
int |
timeout |
long:等待時間,之後會傳回 false,表示切換使用者失敗。 |
| 傳回 | |
|---|---|
boolean |
如果新使用者 ID 與使用者 ID 供應商相符,則為 True。否則傳回「false」。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
|
takeBugreport
public abstract Bugreport takeBugreport ()
擷取錯誤報告,並在 Bugreport 物件中傳回,以進行處理。如有問題,則傳回空值。Bugreport 物件參照的檔案必須透過 Bugreport.close() 清理。
| 傳回 | |
|---|---|
Bugreport |
|
uninstallPackage
public abstract String uninstallPackage (String packageName)
從裝置解除安裝 Android 套件。
| 參數 | |
|---|---|
packageName |
String:要解除安裝的 Android 套件 |
| 傳回 | |
|---|---|
String |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
uninstallPackageForUser
public abstract String uninstallPackageForUser (String packageName,
int userId)為特定使用者從裝置解除安裝 Android 套件。
| 參數 | |
|---|---|
packageName |
String:要解除安裝的 Android 套件 |
userId |
int:要解除安裝的整數使用者 ID。 |
| 傳回 | |
|---|---|
String |
如果成功,則為 null;如果失敗,則為含有錯誤代碼的 String。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置連線中斷且無法復原。 |
waitForSnapuserd
public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)
如果這是預期行為,請等待 snapuserd 完成作業。
| 參數 | |
|---|---|
currentPhase |
SnapuserdWaitPhase |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|