हां, आप वास्तव में ऐसा कर सकते हैं। जब आप क्लिपबोर्ड का निरीक्षण करते हैं, तो यह एक प्रकार का टेढ़ा होता है, लेकिन यह ठीक काम करता है।
सबसे पहले, आप service call clipboard 1
एक adb खोल (या, बिना गोलाबारी के adb shell service call clipboard 1
) से वर्तमान क्लिपबोर्ड सामग्री का निरीक्षण कर सकते हैं । यह रिबूट के बाद शुरू में खाली हो सकता है, उदाहरण के लिए:
# service call clipboard 1
Result: Parcel(
0x00000000: 00000000 00000001 00000000 00000000 '................'
0x00000010: 00000000 00000000 '........ ')
#
आप क्लिपबोर्ड का उपयोग करके पाठ डाल सकते हैं service call clipboard 2
, जो मूल रूप से 3 पैरामीटर लेता है - दो ints और स्ट्रिंग जिसे आप क्लिपबोर्ड पर रखना चाहते हैं:
# service call clipboard 2 i32 1 i32 0 s16 "Hi there"
Result: Parcel(00000000 '....')
ईमानदार होने के लिए, मुझे यकीन नहीं है कि पहले दो पैरामीटर क्या हैं। स्टैक ओवरफ्लो पर एक जवाब ने पहला इंट "पार्सल में वस्तुओं की संख्या" (इस मामले में एक) का सुझाव दिया है और दूसरा है कि स्ट्रिंग की लंबाई है। हालाँकि, मैंने दूसरे पैरामीटर के लिए 0 का उपयोग किया है और यह ठीक काम करता है, और मुझे इस विशेष फ़ंक्शन के साथ मेल खाने वाला कोई भी दस्तावेज़ नहीं मिल रहा है ... इसलिए इसे उसी लायक लें।
किसी भी मामले में, यह मूल रूप से 3 क्षेत्रों के साथ एक पार्सल ऑब्जेक्ट बना रहा है, फिर इसे क्लिपबोर्ड में पास करना। क्लिपबोर्ड तब पार्सल को अनपैक करता है और क्लिपबोर्ड की सामग्री के रूप में पारित स्ट्रिंग मान सेट करता है। जब आप मूल्य को पुनः प्राप्त करने के लिए जाते हैं तो आप इसे देख सकते हैं:
# service call clipboard 1
Result: Parcel(
0x00000000: 00000000 00000001 00000000 00000008 '................'
0x00000010: 00690048 00740020 00650068 00650072 'H.i. .t.h.e.r.e.'
0x00000020: 00000000 00000000 '........ ')
#
इसी तरह, यदि आप एक पाठ प्रविष्टि क्षेत्र पर लंबे समय तक प्रेस करते हैं और ऐसा करने के बाद "पेस्ट" दबाते हैं, तो आपको वह पाठ मिलेगा जो call service clipboard 2
ऊपर की रेखा के माध्यम से सेट किया गया था (और यह पूरी तरह से सामान्य लगेगा)।
(उपरोक्त उदाहरण मेरे HTC EVO से आते हैं, CyanogenMod 7 चला रहे हैं)