IShellEnabledDevice

public interface IShellEnabledDevice

com.android.ddmlib.IShellEnabledDevice


Một thiết bị trừu tượng có thể nhận các lệnh shell.

Tóm tắt

Phương thức công khai

abstract void executeShellCommand(String command, IShellOutputReceiver receiver, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

Thực thi một lệnh shell trên thiết bị và gửi kết quả đến một receiver.

abstract void executeShellCommand(String command, IShellOutputReceiver receiver, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

Thực thi một lệnh shell trên thiết bị và gửi kết quả đến một receiver.

abstract String getName()

Trả về tên (dễ hiểu) cho thiết bị này.

abstract ListenableFuture<String> getSystemProperty(String name)

Thực hiện một truy vấn không đồng bộ tiềm năng cho một thuộc tính hệ thống.

Phương thức công khai

executeShellCommand

public abstract void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

Thực thi một lệnh shell trên thiết bị và gửi kết quả đến một receiver.

maxTimeToOutputResponse được dùng làm thời gian chờ tối đa khi dự kiến nhận được đầu ra lệnh từ thiết bị.
Bất cứ lúc nào, nếu lệnh shell không xuất ra bất kỳ nội dung nào trong khoảng thời gian dài hơn maxTimeToOutputResponse, thì phương thức này sẽ khai báo ngoại lệ ShellCommandUnresponsiveException.

Đối với các lệnh như đầu ra nhật ký, bạn nên sử dụng giá trị maxTimeToOutputResponse là 0, tức là phương thức sẽ không bao giờ truyền và sẽ chặn cho đến khi IShellOutputReceiver.isCancelled() của receiver trả về true.

Tham số
command String: lệnh shell cần thực thi

receiver IShellOutputReceiver: IShellOutputReceiver sẽ nhận được đầu ra của lệnh shell

maxTimeToOutputResponse long: khoảng thời gian tối đa mà lệnh được phép không xuất bất kỳ phản hồi nào. Giá trị 0 có nghĩa là phương thức sẽ đợi vô thời hạn (cho đến khi receiver huỷ thực thi) để có đầu ra lệnh và không bao giờ gửi.

maxTimeUnits TimeUnit: Đơn vị cho các giá trị maxTimeToOutputResponse khác 0.

Gửi
TimeoutException trong trường hợp hết thời gian chờ kết nối khi gửi lệnh.
AdbCommandRejectedException nếu adb từ chối lệnh.
ShellCommandUnresponsiveException trong trường hợp lệnh shell không gửi bất kỳ đầu ra nào trong khoảng thời gian dài hơn maxTimeToOutputResponse.
trong trường hợp xảy ra lỗi đầu vào/đầu ra trên kết nối.

executeShellCommand

public abstract void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                long maxTimeout, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

Thực thi một lệnh shell trên thiết bị và gửi kết quả đến một receiver.

maxTimeToOutputResponse được dùng làm thời gian chờ tối đa khi dự kiến nhận được đầu ra lệnh từ thiết bị.
Bất cứ lúc nào, nếu lệnh shell không xuất ra bất kỳ nội dung nào trong khoảng thời gian dài hơn maxTimeToOutputResponse, thì phương thức này sẽ khai báo ngoại lệ ShellCommandUnresponsiveException.

Đối với các lệnh như đầu ra nhật ký, bạn nên sử dụng giá trị maxTimeToOutputResponse là 0, tức là phương thức sẽ không bao giờ truyền và sẽ chặn cho đến khi IShellOutputReceiver.isCancelled() của receiver trả về true.

Tham số
command String: lệnh shell cần thực thi

receiver IShellOutputReceiver: IShellOutputReceiver sẽ nhận được đầu ra của lệnh shell

maxTimeout long: thời gian chờ tối đa để lệnh trả về. Giá trị 0 có nghĩa là sẽ không áp dụng thời gian chờ tối đa.

maxTimeToOutputResponse long: khoảng thời gian tối đa mà lệnh được phép không xuất bất kỳ phản hồi nào. Giá trị 0 có nghĩa là phương thức sẽ đợi vô thời hạn (cho đến khi receiver huỷ thực thi) để có đầu ra lệnh và không bao giờ gửi.

maxTimeUnits TimeUnit: Đơn vị cho các giá trị maxTimeoutmaxTimeToOutputResponse khác 0.

Gửi
TimeoutException trong trường hợp hết thời gian chờ kết nối khi gửi lệnh.
AdbCommandRejectedException nếu adb từ chối lệnh.
ShellCommandUnresponsiveException trong trường hợp lệnh shell không gửi bất kỳ đầu ra nào trong khoảng thời gian dài hơn maxTimeToOutputResponse.
trong trường hợp xảy ra lỗi đầu vào/đầu ra trên kết nối.

getName

public abstract String getName ()

Trả về tên (dễ hiểu) cho thiết bị này. Thông thường, đây là tên AVD cho AVD và tổ hợp tên nhà sản xuất, tên mẫu mã và số sê-ri cho thiết bị.

Giá trị trả về
String

getSystemProperty

public abstract ListenableFuture<String> getSystemProperty (String name)

Thực hiện một truy vấn không đồng bộ tiềm năng cho một thuộc tính hệ thống.

Tham số
name String: tên của giá trị cần trả về.

Giá trị trả về
ListenableFuture<String> ListenableFuture. ERROR(get/Future#get() get) có thể trả về giá trị rỗng.