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()
嘗試關閉裝置 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()
嘗試停用鍵盤鎖。 |
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,如果找不到,則傳回空值。 |
abstract
|
getAndroidIds()
建立已找到相符使用者 ID 的 Android ID 對應。 |
abstract
PackageInfo
|
getAppPackageInfo(String packageName)
擷取裝置上安裝的套件相關資訊。 |
abstract
|
getAppPackageInfos()
擷取裝置上安裝的套件資訊。 |
abstract
InputStreamSource
|
getBugreport()
從裝置擷取錯誤報告。 |
abstract
InputStreamSource
|
getBugreportz()
從裝置擷取錯誤報告。 |
abstract
DeviceFoldableState
|
getCurrentFoldableState()
傳回裝置目前的摺疊式裝置狀態;如果發生問題,則傳回空值。 |
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()
傳回主要使用者 ID。 |
abstract
InputStreamSource
|
getScreenshot(String format, boolean rescale)
擷取裝置的螢幕截圖。 |
abstract
InputStreamSource
|
getScreenshot(String format)
擷取裝置的螢幕截圖。 |
abstract
InputStreamSource
|
getScreenshot(long displayId)
從特定裝置擷取螢幕截圖。 |
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 應用程式 (一個主要套件和額外的分割套件) 指定特定使用者的 IP 位址數量 |
default
String
|
installPackagesForUser(
安裝由多個 APK 檔案組成的 Android 應用程式 (一個主要套件和額外的分割套件) 指定特定使用者的 IP 位址數量 |
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)
協助取得錯誤報告並記錄回報者的輔助方法。 |
default
void
|
notifySnapuserd(SnapuserdWaitPhase waitPhase)
通知裝置,等待 Snapuser 完成。 |
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)
切換至預設逾時的另一個 UserId。 |
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 ()
傳回是否可切換至無頭 SYSTEM 使用者。
傳回 | |
---|---|
boolean |
擲回 | |
---|---|
DeviceNotAvailableException |
檢查連線能力
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 網路。
連上 Wi-Fi 網路
public abstract boolean connectToWifiNetwork (wifiSsidToPsk)
連線至 Wi-Fi 網路。
開啟 Wi-Fi 並保持封鎖,直到連上其中一個 Wi-Fi 成功連線為止
wifiSsidToPsk 地圖中提供的網路。建立連線後,執行個體會嘗試
在每次重新啟動後還原連線,直到 ITestDevice#disconnectFromWifi()
或
系統會呼叫 ITestDevice#clearLastConnectedWifiNetwork()
。
參數 | |
---|---|
wifiSsidToPsk |
:Wi-Fi SSID 和密碼的對應表。 |
傳回 | |
---|---|
boolean |
true (如果已成功連上 Wi-Fi 網路)。false
否則 |
擲回 | |
---|---|
DeviceNotAvailableException |
導致與裝置之間的連線中斷且無法 已復原。 |
連上 Wi-Fi 網路
public abstract boolean connectToWifiNetwork (wifiSsidToPsk, boolean scanSsid)
連線至 Wi-Fi 網路。
開啟 Wi-Fi 並保持封鎖,直到連上其中一個 Wi-Fi 成功連線為止
wifiSsidToPsk 地圖中提供的網路。建立連線後,執行個體會嘗試
在每次重新啟動後還原連線,直到 ITestDevice#disconnectFromWifi()
或
系統會呼叫 ITestDevice#clearLastConnectedWifiNetwork()
。
參數 | |
---|---|
wifiSsidToPsk |
:Wi-Fi SSID 和密碼的對應表。 |
scanSsid |
boolean :是否要掃描這個網路的隱藏 SSID。 |
傳回 | |
---|---|
boolean |
true (如果已成功連上 Wi-Fi 網路)。false
否則 |
擲回 | |
---|---|
DeviceNotAvailableException |
導致與裝置之間的連線中斷且無法 已復原。 |
連上 Wi-Fi 網路
public abstract boolean connectToWifiNetwork (String wifiSsid, String wifiPsk)
連線至 Wi-Fi 網路。
開啟 Wi-Fi 並保持封鎖,直到成功連上指定的 Wi-Fi 網路為止。
建立連線後,執行個體會在每次重新啟動後嘗試恢復連線
直到 ITestDevice#disconnectFromWifi()
或
系統會呼叫 ITestDevice#clearLastConnectedWifiNetwork()
。
參數 | |
---|---|
wifiSsid |
String :要連線的 Wi-Fi 裝置 ID |
wifiPsk |
String :PSK 通關密語;如果未加密則傳回空值 |
傳回 | |
---|---|
boolean |
true (如果已成功連上 Wi-Fi 網路)。false
否則 |
擲回 | |
---|---|
DeviceNotAvailableException |
導致與裝置之間的連線中斷且無法 已復原。 |
連上 Wi-Fi 網路
public abstract boolean connectToWifiNetwork (String wifiSsid, String wifiPsk, boolean scanSsid)
連線至 Wi-Fi 網路。
開啟 Wi-Fi 並保持封鎖,直到成功連上指定的 Wi-Fi 網路為止。
建立連線後,執行個體會在每次重新啟動後嘗試恢復連線
直到 ITestDevice#disconnectFromWifi()
或
系統會呼叫 ITestDevice#clearLastConnectedWifiNetwork()
。
參數 | |
---|---|
wifiSsid |
String :要連線的 Wi-Fi 裝置 ID |
wifiPsk |
String :PSK 通關密語;如果未加密則傳回空值 |
scanSsid |
boolean :是否要掃描這個網路的隱藏 SSID。 |
傳回 | |
---|---|
boolean |
true (如果已成功連上 Wi-Fi 網路)。false
否則 |
擲回 | |
---|---|
DeviceNotAvailableException |
導致與裝置之間的連線中斷且無法 已復原。 |
ConnectToWifiNetworkIf 需要
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 |
ConnectToWifiNetworkIf 需要
public abstract boolean connectToWifiNetworkIfNeeded (String wifiSsid, String wifiPsk)
只會在裝置時連線的 connectToWifiNetwork(String, String)
變化版本
目前沒有網路連線
傳回 | |
---|---|
boolean |
true (如果已成功連上 Wi-Fi 網路)。false
否則 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
建立使用者
public abstract int createUser (String name)
以指定名稱和預設旗標 0 建立使用者。
參數 | |
---|---|
name |
String :要在裝置上建立的使用者 |
傳回 | |
---|---|
int |
所建立使用者 ID 的整數 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
建立使用者
public abstract int createUser (String name, boolean guest, boolean ephemeral)
使用名字和提供的旗標建立使用者
參數 | |
---|---|
name |
String :要在裝置上建立的使用者 |
guest |
boolean :在建立期間啟用使用者標記 --guest |
ephemeral |
boolean :在建立期間啟用使用者標記 -- short |
傳回 | |
---|---|
int |
已建立使用者的 ID |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
建立使用者
public abstract int createUser (String name, boolean guest, boolean ephemeral, boolean forTesting)
使用名字和提供的旗標建立使用者
參數 | |
---|---|
name |
String :要在裝置上建立的使用者 |
guest |
boolean :在建立期間啟用使用者標記 --guest |
ephemeral |
boolean :在建立期間啟用使用者標記 -- short |
forTesting |
boolean :在建立期間啟用測試標記 --for-測試 |
傳回 | |
---|---|
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 |
取消註冊裝置動作接收者
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 |
導致與裝置之間的連線中斷且無法 已復原。 |
中斷從 Wifi 連線
public abstract boolean disconnectFromWifi ()
Wi-Fi 網路連線中斷。
這會從已知網路清單中移除所有網路,並停用 Wi-Fi。
傳回 | |
---|---|
boolean |
如果 Wi-Fi 網路連線已成功中斷,請true 。false
會在連線失敗時收到訊息。 |
擲回 | |
---|---|
DeviceNotAvailableException |
導致與裝置之間的連線中斷且無法 已復原。 |
doFileExist
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 |
取得所有設定
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,如果找不到,則傳回空值。
參數 | |
---|---|
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 ()
從裝置擷取錯誤報告。
實作此做法可確保在沒有 sdcard 的裝置上能繼續運作 (或尚未掛載 sdcard 的地方)。
傳回 | |
---|---|
InputStreamSource |
InputStreamSource ,可視需求產生錯誤報告內容。於
如果失敗,InputStreamSource 會產生空白的 ERROR(/InputStream) 。 |
getBugreportz
public abstract InputStreamSource getBugreportz ()
從裝置擷取錯誤報告。ZIP 格式錯誤報告內含主要錯誤報告, 其他有助於偵錯的記錄檔
僅支援「ADB 版本」>1.0.36 版
傳回 | |
---|---|
InputStreamSource |
含有錯誤報告的 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 位址;如果裝置沒有 IP 位址,則為 null |
擲回 | |
---|---|
DeviceNotAvailableException |
導致與裝置之間的連線中斷且無法 已復原。 |
getKeyguardState
public abstract KeyguardControllerState getKeyguardState ()
傳回物件即可取得鍵盤防護目前的狀態;如果不支援,則傳回空值。
傳回 | |
---|---|
KeyguardControllerState |
包含鍵盤鎖狀態快照的 KeyguardControllerState
而且如果系統不支援 Keyguard 查詢,則傳回空值。 |
擲回 | |
---|---|
DeviceNotAvailableException |
導致與裝置之間的連線中斷且無法 已復原。 |
getMainUserId
public abstract Integer getMainUserId ()
傳回主要使用者 ID。
傳回 | |
---|---|
Integer |
主要使用者的 userId;如果沒有主要使用者,則為空值。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceRuntimeException |
裝置的輸出內容不如預期。 |
DeviceNotAvailableException |
getMainlineModuleInfo
public abstractgetMainlineModuleInfo ()
取得裝置上安裝的主系列模組相關資訊。
傳回 | |
---|---|
|
裝置上目前已安裝 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 ()
傳回主要使用者 ID。
傳回 | |
---|---|
Integer |
主要使用者的 userId;如果沒有主要使用者,則為空值。 |
擲回 | |
---|---|
|
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)
從特定裝置擷取螢幕截圖。格式為 PNG。
TODO:擴充上述實作方式來支援「format」然後「rescale」
參數 | |
---|---|
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 相關聯的值。如果找不到,則為空值。 |
擲回 | |
---|---|
|
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 |
取得解除安裝套件名稱
public abstractgetUninstallablePackageNames ()
擷取可解除安裝的應用程式套件名稱。目前定義的是 非系統套件和更新後的系統套件。
傳回 | |
---|---|
|
目前安裝於裝置上 ERROR(/Set) 的可解除安裝 String 套件名稱
裝置。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getUserFlags
public abstract int getUserFlags (int userId)
尋找並傳回特定使用者的旗標。 旗標定義於「android.content.pm.UserInfo」Android 開放原始碼專案中的類別。
參數 | |
---|---|
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 |
有功能
public abstract boolean hasFeature (String feature)
確認裝置是否支援該功能。
參數 | |
---|---|
feature |
String :應該為「feature: |
傳回 | |
---|---|
boolean |
如果有特徵,則為「true」,否則傳回「false」。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
安裝套件
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 |
導致與裝置之間的連線中斷且無法 已復原。 |
安裝套件
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 |
表示平台不支援執行階段權限 應用程式。 |
安裝套件
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 |
表示平台不支援執行階段權限 應用程式。 |
安裝套件
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 應用程式 (一個主要套件和額外的分割套件) 指定特定使用者的 IP 位址數量請參閱「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 應用程式 (一個主要套件和額外的分割套件) 指定特定使用者的 IP 位址數量請參閱「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 |
isMultiUserSupported
public abstract boolean isMultiUserSupported ()
決定是否支援多使用者。
傳回 | |
---|---|
boolean |
如果支援多位使用者,傳回 true,否則傳回 false |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
已安裝 isPackage
public abstract boolean isPackageInstalled (String packageName, String userId)
查詢裝置的特定套件名稱和指定使用者 ID,確認其目前是否 無論該使用者是否安裝
參數 | |
---|---|
packageName |
String :要檢查是否已安裝的套件。 |
userId |
String :要檢查套件的安裝目標使用者 ID。如果為空值,主要使用者
不會使用 0 |
傳回 | |
---|---|
boolean |
如果套件回報為已安裝,則為 True。否則傳回「否」。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
已安裝 isPackage
public abstract boolean isPackageInstalled (String packageName)
針對裝置查詢特定套件名稱,確認裝置目前是否已安裝。
參數 | |
---|---|
packageName |
String |
傳回 | |
---|---|
boolean |
如果套件回報為已安裝,則為 True。否則傳回「否」。 |
擲回 | |
---|---|
|
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)
檢查指定的使用者是否可見。
「顯示」則是指與「人類」互動的使用者進而能 啟動活動 (通常在預設畫面中)。
參數 | |
---|---|
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 |
isVisibleBackgroundUsers 支援
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 |
導致與裝置之間的連線中斷且無法 已復原。 |
listDisplayId
public abstractlistDisplayIds ()
根據「dumpsys」回報在裝置上的可用螢幕 ID 清單 SurfaceFlinger」。
傳回 | |
---|---|
|
顯示清單。預設一律會傳回預設顯示 0。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
listDisplayIdsForBeginVisibleBackgroundUsers
public abstractlistDisplayIdsForStartingVisibleBackgroundUsers ()
取得可用於 start a user visible in the background
的螢幕清單。
傳回 | |
---|---|
|
擲回 | |
---|---|
DeviceNotAvailableException |
列出使用者
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」。 |
通知 Snapuserd
public void notifySnapuserd (SnapuserdWaitPhase waitPhase)
通知裝置,等待 Snapuser 完成。
參數 | |
---|---|
waitPhase |
SnapuserdWaitPhase |
註冊裝置動作接收者
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 |
設定
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 |
設定
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)
切換至預設逾時的另一個 UserId。switchUser(int, long)
。
參數 | |
---|---|
userId |
int |
傳回 | |
---|---|
boolean |
如果新的 userId 與 userId 提供者相符,則傳回「是」。否則傳回「否」。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
SwitchUser
public abstract boolean switchUser (int userId, long timeout)
切換到另一個設有逾時期限的 UserId。 成功變更使用者後,嘗試停用鍵盤鎖。
參數 | |
---|---|
userId |
int |
timeout |
long :在切換使用者失敗前等待 false。 |
傳回 | |
---|---|
boolean |
如果新的 userId 與 userId 提供者相符,則傳回「是」。否則傳回「否」。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
採用錯誤報告
public abstract Bugreport takeBugreport ()
取得錯誤報告,並在 Bugreport
物件中傳回以進行處理。傳回空值
以備不時之需需要透過 Bugreport.close()
清除 Bugreport 物件中參照的檔案。
傳回 | |
---|---|
Bugreport |
解除安裝套件
public abstract String uninstallPackage (String packageName)
從裝置上解除安裝 Android 套件。
參數 | |
---|---|
packageName |
String :要解除安裝的 Android 套件 |
傳回 | |
---|---|
String |
包含錯誤代碼的 String ;如果成功則傳回 null 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
導致與裝置之間的連線中斷且無法 已復原。 |
解除安裝套件 ForUser
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 |