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 वैल्यू के लिए यूनिट.

थ्रो
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: शून्य से ज़्यादा maxTimeout और maxTimeToOutputResponse की वैल्यू के लिए इकाइयां.

थ्रो
TimeoutException जब निर्देश भेजते समय कनेक्शन टाइम आउट हो जाता है.
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है.
ShellCommandUnresponsiveException अगर शेल कमांड, maxTimeToOutputResponse से ज़्यादा समय तक कोई आउटपुट नहीं भेजती है.
कनेक्शन पर I/O में गड़बड़ी होने पर.

यह भी देखें:

getName

public abstract String getName ()

यह डिवाइस का नाम दिखाता है, जिसे आसानी से समझा जा सकता है. आम तौर पर, यह एवीडी के लिए एवीडी का नाम होता है. साथ ही, डिवाइसों के लिए मैन्युफ़ैक्चरर का नाम, मॉडल का नाम, और सीरियल नंबर का कॉम्बिनेशन होता है.

रिटर्न
String

getSystemProperty

public abstract ListenableFuture<String> getSystemProperty (String name)

सिस्टम प्रॉपर्टी के लिए, एसिंक्रोनस क्वेरी करें.

पैरामीटर
name String: दिखाई जाने वाली वैल्यू का नाम.

रिटर्न
ListenableFuture<String> ListenableFuture. ERROR(get/Future#get() get) कुछ नहीं दिखा सकता.