IShellEnabledDevice

public interface IShellEnabledDevice

com.android.ddmlib.IShellEnabledDevice


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

สรุป

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

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

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

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

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

abstract String getName()

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

abstract ListenableFuture<String> getSystemProperty(String name)

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

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

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

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

ดูเพิ่มเติม:

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: หน่วยสำหรับค่าที่ไม่ใช่ 0 ของ maxTimeout และ maxTimeToOutputResponse

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

ดูเพิ่มเติม:

getName

public abstract String getName ()

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

คิกรีเทิร์น
String

getSystemProperty

public abstract ListenableFuture<String> getSystemProperty (String name)

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

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

คิกรีเทิร์น
ListenableFuture<String> ListenableFuture. ERROR(get/Future#get() get) อาจแสดงผลเป็น null