Sì, in realtà puoi farlo. È un po 'kludgy quando si ispezionano gli appunti, ma funziona bene.
Prima di tutto, puoi ispezionare il contenuto degli appunti corrente con service call clipboard 1
da una shell adb (o, senza shell in primo luogo adb shell service call clipboard 1
). Potrebbe iniziare inizialmente vuoto dopo un riavvio, ad esempio:
# service call clipboard 1
Result: Parcel(
0x00000000: 00000000 00000001 00000000 00000000 '................'
0x00000010: 00000000 00000000 '........ ')
#
Puoi inserire il testo negli appunti usando service call clipboard 2
, che in pratica accetta 3 parametri: due ints e la stringa che vuoi mettere negli appunti:
# service call clipboard 2 i32 1 i32 0 s16 "Hi there"
Result: Parcel(00000000 '....')
Ad essere onesti, non sono sicuro di quali siano i primi due parametri. Una risposta su Stack Overflow ha suggerito che il primo int è "numero di articoli nel pacco" (uno in questo caso) e che il secondo è la lunghezza della stringa. Tuttavia, ho usato 0 per il secondo parametro e funziona benissimo, e non riesco a trovare alcuna documentazione corrispondente a questa particolare funzione ... quindi prendilo per quello che vale.
In ogni caso, sta fondamentalmente creando un oggetto Parcel con 3 campi, quindi passandolo negli Appunti. Gli Appunti quindi scompattano il pacchetto e impostano il valore di stringa passato come contenuto degli Appunti. Puoi vederlo quando vai a recuperare il valore in seguito:
# 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 '........ ')
#
Allo stesso modo, se si preme a lungo su un campo di immissione testo e si preme "Incolla" dopo aver fatto ciò, si otterrà il testo impostato tramite la call service clipboard 2
riga sopra (e sembrerà completamente normale).
(Gli esempi precedenti provengono dal mio HTC EVO, con CyanogenMod 7)