Evet, bunu gerçekten yapabilirsiniz. Panoyu kontrol ettiğinizde biraz zahmetli görünüyor, ama gayet iyi çalışıyor.
Öncelikle, mevcut pano içeriğini service call clipboard 1
bir adb kabuğundan (veya önce kabuklamadan adb shell service call clipboard 1
) inceleyebilirsiniz. Bir yeniden başlatma işleminden sonra başlangıçta boş başlayabilir, örneğin:
# service call clipboard 1
Result: Parcel(
0x00000000: 00000000 00000001 00000000 00000000 '................'
0x00000010: 00000000 00000000 '........ ')
#
service call clipboard 2
Temel olarak 3 parametre alan iki metni ve panoya koymak istediğiniz dizeyi kullanarak panoya metin koyabilirsiniz:
# service call clipboard 2 i32 1 i32 0 s16 "Hi there"
Result: Parcel(00000000 '....')
Dürüst olmak gerekirse, ilk iki parametrenin ne olduğundan emin değilim. Yığın Taşması ile ilgili bir cevap , ilk int'nin "parseldeki öğe sayısı" (bu durumda bir tane) ve ikincisinin dize uzunluğu olduğunu ileri sürdü. Ancak, ikinci parametre için 0 kullandım ve iyi çalışıyor ve bu özel işlevle eşleşen hiçbir belge bulamıyorum ... bu yüzden buna değer.
Her durumda, temel olarak 3 alanlı bir Parcel nesnesi oluşturup panoya geçiriyor. Pano daha sonra Parsel'in paketini açar ve pano içeriği olarak geçen dize değerini ayarlar. Bunu daha sonra değeri almaya gittiğinde görebilirsiniz:
# 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 '........ ')
#
Benzer şekilde, bir metin giriş alanına uzun basar ve bunu yaptıktan sonra "Yapıştır" ı tıklarsanız, call service clipboard 2
yukarıdaki satırdan ayarlanan metni alırsınız (ve tamamen normal görünür).
(Yukarıdaki örnekler, CyanogenMod 7 çalıştıran HTC EVO cihazımdan geliyor)