IShellEnabledDevice

public interface IShellEnabledDevice

com.android.ddmlib.IShellEnabledDevice


อุปกรณ์นามธรรมที่รับคำสั่งเชลล์ได้

สรุป

เมธอดสาธารณะ

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

เรียกใช้คำสั่งเชลล์ในอุปกรณ์และส่งผลลัพธ์ไปยัง receiver

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

เรียกใช้คำสั่งเชลล์ในอุปกรณ์และส่งผลลัพธ์ไปยัง receiver

abstract String getName()

แสดงผลชื่อ (ที่อ่านง่าย) ของอุปกรณ์นี้

abstract ListenableFuture<String> getSystemProperty(String name)

ทำการค้นหาพร็อพเพอร์ตี้ของระบบแบบอะซิงโครนัส

เมธอดสาธารณะ

executeShellCommand

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

เรียกใช้คำสั่งเชลล์ในอุปกรณ์และส่งผลลัพธ์ไปยัง receiver

maxTimeToOutputResponse ใช้เป็นเวลาการรอสูงสุดเมื่อคาดหวังเอาต์พุตจากคำสั่งจากอุปกรณ์
หากคำสั่งเชลล์ไม่แสดงผลใดๆ เป็นระยะเวลานานกว่า maxTimeToOutputResponse เมธอดจะแสดง ShellCommandUnresponsiveException

สำหรับคำสั่งต่างๆ เช่น เอาต์พุตบันทึก ควรใช้ค่า maxTimeToOutputResponse เป็น 0 ซึ่งหมายความว่า เมธอดจะไม่แสดงผลและจะบล็อกจนกว่า IShellOutputReceiver.isCancelled() ของตัวรับจะแสดงผลเป็น true

พารามิเตอร์
command String: คำสั่งเชลล์ที่จะเรียกใช้

receiver IShellOutputReceiver: IShellOutputReceiver ที่จะรับเอาต์พุตของเชลล์ คำสั่ง

maxTimeout long: การหมดเวลาสูงสุดสำหรับคำสั่งที่จะแสดงผล ค่า 0 หมายความว่าจะไม่มีการใช้การหมดเวลาสูงสุด

maxTimeToOutputResponse long: ระยะเวลาสูงสุดที่คำสั่งได้รับอนุญาตให้ ไม่แสดงผลการตอบกลับใดๆ ค่า 0 หมายความว่าเมธอดจะรอเอาต์พุตจากคำสั่งตลอดไป (จนกว่าตัวรับจะยกเลิกการดำเนินการ) และจะไม่ส่งreceiver

maxTimeUnits TimeUnit: หน่วยสำหรับค่า maxTimeout และ maxTimeToOutputResponse ที่ไม่ใช่ 0

ส่ง
AdbCommandRejectedException หาก adb ปฏิเสธคำสั่ง
ShellCommandUnresponsiveException ในกรณีที่คำสั่งเชลล์ไม่ส่งเอาต์พุตใดๆ เป็นระยะเวลานานกว่า maxTimeToOutputResponse
TimeoutException ในกรณีที่การเชื่อมต่อหมดเวลาเมื่อส่งคำสั่ง
IOException ในกรณีที่เกิดข้อผิดพลาด I/O ในการเชื่อมต่อ

ดูเพิ่มเติม

executeShellCommand

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

เรียกใช้คำสั่งเชลล์ในอุปกรณ์และส่งผลลัพธ์ไปยัง receiver

maxTimeToOutputResponse ใช้เป็นเวลาการรอสูงสุดเมื่อคาดหวังเอาต์พุตจากคำสั่งจากอุปกรณ์
หากคำสั่งเชลล์ไม่แสดงผลใดๆ เป็นระยะเวลานานกว่า maxTimeToOutputResponse เมธอดจะแสดง ShellCommandUnresponsiveException

สำหรับคำสั่งต่างๆ เช่น เอาต์พุตบันทึก ควรใช้ค่า maxTimeToOutputResponse เป็น 0 ซึ่งหมายความว่า เมธอดจะไม่แสดงผลและจะบล็อกจนกว่า IShellOutputReceiver.isCancelled() ของตัวรับจะแสดงผลเป็น true

พารามิเตอร์
command String: คำสั่งเชลล์ที่จะเรียกใช้

receiver IShellOutputReceiver: IShellOutputReceiver ที่จะรับเอาต์พุตของเชลล์ คำสั่ง

maxTimeToOutputResponse long: ระยะเวลาสูงสุดที่คำสั่งได้รับอนุญาตให้ ไม่แสดงผลการตอบกลับใดๆ ค่า 0 หมายความว่าเมธอดจะรอเอาต์พุตจากคำสั่งตลอดไป (จนกว่าตัวรับจะยกเลิกการดำเนินการ) และจะไม่ส่งreceiver

maxTimeUnits TimeUnit: หน่วยสำหรับค่า maxTimeToOutputResponse ที่ไม่ใช่ 0

ส่ง
AdbCommandRejectedException หาก adb ปฏิเสธคำสั่ง
ShellCommandUnresponsiveException ในกรณีที่คำสั่งเชลล์ไม่ส่งเอาต์พุตใดๆ เป็นระยะเวลานานกว่า maxTimeToOutputResponse
TimeoutException ในกรณีที่การเชื่อมต่อหมดเวลาเมื่อส่งคำสั่ง
IOException ในกรณีที่เกิดข้อผิดพลาด I/O ในการเชื่อมต่อ

ดูเพิ่มเติม

getName

public abstract String getName ()

แสดงผลชื่อ (ที่อ่านง่าย) ของอุปกรณ์นี้ โดยปกติแล้วจะเป็นชื่อ AVD สำหรับ AVD และการ ผสมผสานระหว่างชื่อผู้ผลิต ชื่อรุ่น และหมายเลขซีเรียลสำหรับอุปกรณ์

การคืนสินค้า
String

getSystemProperty

public abstract ListenableFuture<String> getSystemProperty (String name)

ทำการค้นหาพร็อพเพอร์ตี้ของระบบแบบอะซิงโครนัส

พารามิเตอร์
name String: ชื่อของค่าที่จะแสดงผล

การคืนสินค้า
ListenableFuture<String> a ListenableFuture. get อาจแสดงผลเป็น Null