Vâng, bạn thực sự có thể làm điều này. Nó trông có vẻ không ổn khi bạn kiểm tra bảng tạm, nhưng nó hoạt động tốt.
Trước hết, bạn có thể kiểm tra nội dung trong bảng tạm hiện tại bằng service call clipboard 1
từ vỏ adb (hoặc, không cần tách vỏ trước adb shell service call clipboard 1
). Nó có thể bắt đầu trống ban đầu sau khi khởi động lại, ví dụ:
# service call clipboard 1
Result: Parcel(
0x00000000: 00000000 00000001 00000000 00000000 '................'
0x00000010: 00000000 00000000 '........ ')
#
Bạn có thể đặt văn bản vào bảng tạm bằng cách sử dụng service call clipboard 2
, về cơ bản có 3 tham số - hai số nguyên và chuỗi bạn muốn đặt vào bảng tạm:
# service call clipboard 2 i32 1 i32 0 s16 "Hi there"
Result: Parcel(00000000 '....')
Thành thật mà nói, tôi không chắc hai thông số đầu tiên là gì. Một câu trả lời trên Stack Overflow đã gợi ý int đầu tiên là "số lượng vật phẩm trong bưu kiện" (một trong trường hợp này) và thứ hai là độ dài của chuỗi. Tuy nhiên, tôi đã sử dụng 0 cho tham số thứ hai và nó hoạt động tốt và tôi không thể tìm thấy bất kỳ tài liệu nào phù hợp với chức năng cụ thể này ... vì vậy hãy xem đó là giá trị của nó.
Trong mọi trường hợp, về cơ bản, nó tạo ra một đối tượng Parcel với 3 trường, sau đó chuyển nó vào bảng tạm. Sau đó, bảng tạm giải nén Parcel và đặt giá trị chuỗi được truyền vào dưới dạng nội dung của bảng tạm. Bạn có thể thấy điều này khi bạn truy xuất giá trị sau đó:
# 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 '........ ')
#
Tương tự, nếu bạn nhấn và giữ vào trường nhập văn bản và nhấn "Dán" sau khi thực hiện việc này, bạn sẽ nhận được văn bản được đặt qua call service clipboard 2
dòng trên (và nó sẽ trông hoàn toàn bình thường).
(Các ví dụ trên đến từ HTC EVO của tôi, chạy CyanogenMod 7)