Ya, Anda sebenarnya bisa melakukan ini. Agak terlihat muram ketika Anda memeriksa clipboard, tapi itu berfungsi dengan baik.
Pertama, Anda dapat memeriksa konten clipboard saat ini dengan service call clipboard 1
dari adb shell (atau, tanpa shelling terlebih dahulu, adb shell service call clipboard 1
). Awalnya mungkin kosong setelah reboot, misalnya:
# service call clipboard 1
Result: Parcel(
0x00000000: 00000000 00000001 00000000 00000000 '................'
0x00000010: 00000000 00000000 '........ ')
#
Anda dapat memasukkan teks ke clipboard menggunakan service call clipboard 2
, yang pada dasarnya membutuhkan 3 parameter - dua int dan string yang ingin Anda tempatkan di clipboard:
# service call clipboard 2 i32 1 i32 0 s16 "Hi there"
Result: Parcel(00000000 '....')
Sejujurnya, saya tidak yakin apa dua parameter pertama itu. Satu jawaban pada Stack Overflow telah menyarankan int pertama adalah "jumlah item dalam paket" (satu dalam hal ini) dan yang kedua adalah panjang string. Namun, saya telah menggunakan 0 untuk parameter kedua dan berfungsi dengan baik, dan saya tidak dapat menemukan dokumentasi yang cocok dengan fungsi khusus ini ... jadi ambillah sesuai nilainya.
Bagaimanapun, itu pada dasarnya membuat objek Parcel dengan 3 bidang, lalu meneruskannya ke clipboard. Clipboard kemudian membongkar Paket dan menetapkan nilai string yang diteruskan sebagai konten clipboard. Anda dapat melihat ini saat Anda mengambil nilai setelahnya:
# 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 '........ ')
#
Demikian pula, jika Anda menekan lama pada bidang entri teks dan menekan "Tempel" setelah melakukan ini, Anda akan mendapatkan teks yang ditetapkan melalui call service clipboard 2
baris di atas (dan itu akan terlihat sangat normal).
(Contoh di atas berasal dari HTC EVO saya, menjalankan CyanogenMod 7)