] by
chw
2020-08-15 17:58:40.
0000: 44 20 32 30 32 30 2d 30 38 2d 31 35 54 31 37 3a D 2020-08-15T17:
0010: 35 38 3a 34 30 2e 38 36 30 0a 4c 20 41 6e 64 72 58:40.860.L Andr
0020: 6f 69 64 5c 73 66 61 63 69 6c 69 74 69 65 73 0a oid\sfacilities.
0030: 50 20 30 30 32 35 64 66 30 61 65 35 33 64 30 33 P 0025df0ae53d03
0040: 39 64 34 36 37 61 63 65 63 34 65 66 34 63 61 33 9d467acec4ef4ca3
0050: 37 63 32 65 64 31 64 31 33 35 0a 55 20 63 68 77 7c2ed1d135.U chw
0060: 0a 57 20 35 32 39 30 30 0a 3c 68 32 3e 62 6f 72 .W 52900.<h2>bor
0070: 67 20 63 6f 6d 6d 61 6e 64 3c 2f 68 32 3e 0d 0a g command</h2>..
0080: 0d 0a 3c 68 33 3e 4e 61 6d 65 3c 2f 68 33 3e 0d ..<h3>Name</h3>.
0090: 0a 0d 0a 3c 62 3e 62 6f 72 67 3c 2f 62 3e 20 2d ...<b>borg</b> -
00a0: 20 63 6f 6e 74 72 6f 6c 20 61 6e 64 20 69 6e 74 control and int
00b0: 65 72 61 63 74 20 77 69 74 68 20 74 68 65 20 41 eract with the A
00c0: 6e 64 72 6f 69 64 20 4f 53 2e 0d 0a 0d 0a 3c 68 ndroid OS.....<h
00d0: 33 3e 53 79 6e 6f 70 73 69 73 3c 2f 68 33 3e 0d 3>Synopsis</h3>.
00e0: 0a 0d 0a 3c 74 74 3e 70 61 63 6b 61 67 65 20 72 ...<tt>package r
00f0: 65 71 75 69 72 65 20 42 6f 72 67 3c 2f 74 74 3e equire Borg</tt>
0100: 3c 62 72 3e 0d 0a 3c 74 74 3e 62 6f 72 67 20 63 <br>..<tt>borg c
0110: 6d 64 20 3f 3c 69 3e 61 72 67 20 2e 2e 2e 3c 2f md ?<i>arg ...</
0120: 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 3c 68 33 3e i>?</tt>....<h3>
0130: 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 68 33 3e Description</h3>
0140: 0d 0a 0d 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 ....This command
0150: 20 69 6e 74 65 67 72 61 74 65 73 20 74 68 65 20 integrates the
0160: 63 61 70 61 62 69 6c 69 74 69 65 73 20 6f 66 20 capabilities of
0170: 54 63 6c 2f 54 6b 20 77 69 74 68 20 41 6e 64 72 Tcl/Tk with Andr
0180: 6f 69 64 20 62 79 20 77 61 79 20 6f 66 20 73 65 oid by way of se
0190: 76 65 72 61 6c 20 73 75 62 63 6f 6d 6d 61 6e 64 veral subcommand
01a0: 73 2e 20 54 68 65 73 65 20 61 6c 6c 6f 77 20 54 s. These allow T
01b0: 63 6c 2f 54 6b 20 74 6f 20 67 6f 20 77 68 65 72 cl/Tk to go wher
01c0: 65 20 69 74 20 68 61 73 20 6e 65 76 65 72 20 67 e it has never g
01d0: 6f 6e 65 20 62 65 66 6f 72 65 20 62 79 20 71 75 one before by qu
01e0: 65 72 79 69 6e 67 20 61 6e 64 20 63 6f 6e 74 72 erying and contr
01f0: 6f 6c 6c 69 6e 67 20 42 6c 75 65 74 6f 6f 74 68 olling Bluetooth
0200: 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2c 20 functionality,
0210: 4f 53 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 73 OS notifications
0220: 20 28 69 6e 63 6c 75 64 69 6e 67 20 64 65 76 69 (including devi
0230: 63 65 20 76 69 62 72 61 74 69 6f 6e 20 61 6e 64 ce vibration and
0240: 20 65 76 65 6e 20 73 70 65 65 63 68 29 2c 20 6c even speech), l
0250: 6f 63 61 74 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 ocation informat
0260: 69 6f 6e 2c 20 65 74 63 2e 0d 0a 0d 0a 3c 68 34 ion, etc.....<h4
0270: 3e 42 6c 75 65 74 6f 6f 74 68 2d 52 65 6c 61 74 >Bluetooth-Relat
0280: 65 64 20 43 6f 6d 6d 61 6e 64 73 3c 2f 68 34 3e ed Commands</h4>
0290: 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 62 6c 75 ....<tt>borg blu
02a0: 65 74 6f 6f 74 68 20 64 65 76 69 63 65 73 3c 2f etooth devices</
02b0: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 tt>.... Retur
02c0: 6e 73 20 61 20 6c 69 73 74 20 73 75 69 74 65 64 ns a list suited
02d0: 20 66 6f 72 20 3c 74 74 3e 61 72 72 61 79 20 73 for <tt>array s
02e0: 65 74 3c 2f 74 74 3e 20 6f 72 20 3c 74 74 3e 64 et</tt> or <tt>d
02f0: 69 63 74 20 63 72 65 61 74 65 3c 2f 74 74 3e 20 ict create</tt>
0300: 63 6f 6d 6d 61 6e 64 73 20 63 6f 6e 74 61 69 6e commands contain
0310: 69 6e 67 20 74 68 65 20 42 6c 75 65 74 6f 6f 74 ing the Bluetoot
0320: 68 20 61 64 64 72 65 73 73 20 61 6e 64 20 66 72 h address and fr
0330: 69 65 6e 64 6c 79 20 6e 61 6d 65 20 6f 66 20 61 iendly name of a
0340: 6c 6c 20 70 61 69 72 65 64 20 42 6c 75 65 74 6f ll paired Blueto
0350: 6f 74 68 20 64 65 76 69 63 65 73 2e 0d 0a 0d 0a oth devices.....
0360: 3c 74 74 3e 62 6f 72 67 20 62 6c 75 65 74 6f 6f <tt>borg bluetoo
0370: 74 68 20 73 74 61 74 65 3c 2f 74 74 3e 0d 0a 0d th state</tt>...
0380: 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 . Returns the
0390: 20 63 75 72 72 65 6e 74 20 42 6c 75 65 74 6f 6f current Bluetoo
03a0: 74 68 20 73 74 61 74 65 3a 20 3c 74 74 3e 6f 66 th state: <tt>of
03b0: 66 3c 2f 74 74 3e 2c 20 3c 74 74 3e 6f 6e 3c 2f f</tt>, <tt>on</
03c0: 74 74 3e 2c 20 3c 74 74 3e 74 75 72 6e 69 6e 67 tt>, <tt>turning
03d0: 5f 6f 66 66 3c 2f 74 74 3e 2c 20 6f 72 20 3c 74 _off</tt>, or <t
03e0: 74 3e 74 75 72 6e 69 6e 67 5f 6f 6e 3c 2f 74 74 t>turning_on</tt
03f0: 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 62 >.....<tt>borg b
0400: 6c 75 65 74 6f 6f 74 68 20 73 63 61 6e 6d 6f 64 luetooth scanmod
0410: 65 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 e</tt>.... Re
0420: 74 75 72 6e 73 20 74 68 65 20 63 75 72 72 65 6e turns the curren
0430: 74 20 42 6c 75 65 74 6f 6f 74 68 20 73 63 61 6e t Bluetooth scan
0440: 20 6d 6f 64 65 3a 20 3c 74 74 3e 63 6f 6e 6e 65 mode: <tt>conne
0450: 63 74 61 62 6c 65 3c 2f 74 74 3e 2c 20 3c 74 74 ctable</tt>, <tt
0460: 3e 6f 66 66 3c 2f 74 74 3e 2c 20 3c 74 74 3e 70 >off</tt>, <tt>p
0470: 61 73 73 69 76 65 3c 2f 74 74 3e 2c 20 6f 72 20 assive</tt>, or
0480: 3c 74 74 3e 76 69 73 69 62 6c 65 3c 2f 74 74 3e <tt>visible</tt>
0490: 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 62 6c .....<tt>borg bl
04a0: 75 65 74 6f 6f 74 68 20 6d 79 61 64 64 72 65 73 uetooth myaddres
04b0: 73 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 s</tt>.... Re
04c0: 74 75 72 6e 73 20 74 68 65 20 42 6c 75 65 74 6f turns the Blueto
04d0: 6f 74 68 20 61 64 64 72 65 73 73 20 6f 66 20 74 oth address of t
04e0: 68 65 20 6c 6f 63 61 6c 20 64 65 66 61 75 6c 74 he local default
04f0: 20 42 6c 75 65 74 6f 6f 74 68 20 61 64 61 70 74 Bluetooth adapt
0500: 65 72 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 er.....<tt>borg
0510: 62 6c 75 65 74 6f 6f 74 68 20 72 65 6d 6f 74 65 bluetooth remote
0520: 61 64 64 72 65 73 73 20 3c 69 3e 61 64 64 72 65 address <i>addre
0530: 73 73 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 ss</i></tt>....
0540: 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 66 Returns the f
0550: 72 69 65 6e 64 6c 79 20 6e 61 6d 65 20 66 6f 72 riendly name for
0560: 20 74 68 65 20 67 69 76 65 6e 20 42 6c 75 65 74 the given Bluet
0570: 6f 6f 74 68 20 3c 74 74 3e 3c 69 3e 61 64 64 72 ooth <tt><i>addr
0580: 65 73 73 3c 2f 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d ess</i></tt>....
0590: 0a 3c 74 74 3e 62 6f 72 67 20 62 6c 75 65 74 6f .<tt>borg blueto
05a0: 6f 74 68 20 6f 6e 3c 2f 74 74 3e 0d 0a 0d 0a 20 oth on</tt>....
05b0: 20 20 20 51 75 6f 74 65 20 66 72 6f 6d 20 3c 61 Quote from <a
05c0: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 64 65 href="http://de
05d0: 76 65 6c 6f 70 65 72 2e 61 6e 64 72 6f 69 64 2e veloper.android.
05e0: 63 6f 6d 2f 72 65 66 65 72 65 6e 63 65 2f 61 6e com/reference/an
05f0: 64 72 6f 69 64 2f 62 6c 75 65 74 6f 6f 74 68 2f droid/bluetooth/
0600: 42 6c 75 65 74 6f 6f 74 68 41 64 61 70 74 65 72 BluetoothAdapter
0610: 2e 68 74 6d 6c 23 65 6e 61 62 6c 65 28 29 22 3e .html#enable()">
0620: 41 6e 64 72 6f 69 64 20 64 6f 63 75 6d 65 6e 74 Android document
0630: 61 74 69 6f 6e 3c 2f 61 3e 3a 20 64 6f 20 6e 6f ation</a>: do no
0640: 74 20 75 73 65 20 77 69 74 68 6f 75 74 20 65 78 t use without ex
0650: 70 6c 69 63 69 74 20 75 73 65 72 20 61 63 74 69 plicit user acti
0660: 6f 6e 20 74 6f 20 74 75 72 6e 20 6f 6e 20 42 6c on to turn on Bl
0670: 75 65 74 6f 6f 74 68 2e 20 54 72 69 65 73 20 74 uetooth. Tries t
0680: 6f 20 74 75 72 6e 20 74 68 65 20 42 6c 75 65 74 o turn the Bluet
0690: 6f 6f 74 68 20 61 64 61 70 74 65 72 20 6f 6e 2e ooth adapter on.
06a0: 20 52 65 74 75 72 6e 73 20 31 20 69 66 20 74 68 Returns 1 if th
06b0: 65 20 61 64 61 70 74 65 72 20 69 73 20 61 6c 72 e adapter is alr
06c0: 65 61 64 79 20 6f 72 20 67 6f 69 6e 67 20 74 6f eady or going to
06d0: 20 62 65 20 74 75 72 6e 65 64 20 6f 6e 2c 20 30 be turned on, 0
06e0: 20 6f 74 68 65 72 77 69 73 65 2e 0d 0a 0d 0a 3c otherwise.....<
06f0: 74 74 3e 62 6f 72 67 20 62 6c 75 65 74 6f 6f 74 tt>borg bluetoot
0700: 68 20 6f 66 66 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 h off</tt>....
0710: 20 20 51 75 6f 74 65 20 66 72 6f 6d 20 3c 61 20 Quote from <a
0720: 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 64 65 76 href="http://dev
0730: 65 6c 6f 70 65 72 2e 61 6e 64 72 6f 69 64 2e 63 eloper.android.c
0740: 6f 6d 2f 72 65 66 65 72 65 6e 63 65 2f 61 6e 64 om/reference/and
0750: 72 6f 69 64 2f 62 6c 75 65 74 6f 6f 74 68 2f 42 roid/bluetooth/B
0760: 6c 75 65 74 6f 6f 74 68 41 64 61 70 74 65 72 2e luetoothAdapter.
0770: 68 74 6d 6c 23 64 69 73 61 62 6c 65 28 29 22 3e html#disable()">
0780: 41 6e 64 72 6f 69 64 20 64 6f 63 75 6d 65 6e 74 Android document
0790: 61 74 69 6f 6e 3c 2f 61 3e 3a 20 64 6f 20 6e 6f ation</a>: do no
07a0: 74 20 75 73 65 20 77 69 74 68 6f 75 74 20 65 78 t use without ex
07b0: 70 6c 69 63 69 74 20 75 73 65 72 20 61 63 74 69 plicit user acti
07c0: 6f 6e 20 74 6f 20 74 75 72 6e 20 6f 66 66 20 42 on to turn off B
07d0: 6c 75 65 74 6f 6f 74 68 2e 20 54 72 69 65 73 20 luetooth. Tries
07e0: 74 6f 20 74 75 72 6e 20 74 68 65 20 42 6c 75 65 to turn the Blue
07f0: 74 6f 6f 74 68 20 61 64 61 70 74 65 72 20 6f 66 tooth adapter of
0800: 66 2e 20 52 65 74 75 72 6e 73 20 31 20 69 66 20 f. Returns 1 if
0810: 74 68 65 20 61 64 61 70 74 65 72 20 69 73 20 61 the adapter is a
0820: 6c 72 65 61 64 79 20 6f 72 20 67 6f 69 6e 67 20 lready or going
0830: 74 6f 20 62 65 20 74 75 72 6e 65 64 20 6f 66 66 to be turned off
0840: 2c 20 30 20 6f 74 68 65 72 77 69 73 65 2e 0d 0a , 0 otherwise...
0850: 0d 0a 46 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 ..For communicat
0860: 69 6f 6e 20 6f 76 65 72 20 42 6c 75 65 74 6f 6f ion over Bluetoo
0870: 74 68 20 73 65 65 20 74 68 65 20 64 65 73 63 72 th see the descr
0880: 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 5b 72 iption of the [r
0890: 66 63 6f 6d 6d 20 63 6f 6d 6d 61 6e 64 5d 2e 20 fcomm command].
08a0: 46 6f 72 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 For handling of
08b0: 42 6c 75 65 74 6f 6f 74 68 20 4c 6f 77 20 45 6e Bluetooth Low En
08c0: 65 72 67 79 20 28 42 6c 75 65 74 6f 6f 74 68 20 ergy (Bluetooth
08d0: 53 6d 61 72 74 29 20 64 65 76 69 63 65 73 20 73 Smart) devices s
08e0: 65 65 20 74 68 65 20 64 65 73 63 72 69 70 74 69 ee the descripti
08f0: 6f 6e 20 6f 66 20 74 68 65 20 5b 62 6c 65 20 63 on of the [ble c
0900: 6f 6d 6d 61 6e 64 5d 2e 0d 0a 0d 0a 3c 68 34 3e ommand].....<h4>
0910: 55 53 42 2d 52 65 6c 61 74 65 64 20 43 6f 6d 6d USB-Related Comm
0920: 61 6e 64 73 3c 2f 68 34 3e 0d 0a 0d 0a 3c 74 74 ands</h4>....<tt
0930: 3e 62 6f 72 67 20 75 73 62 64 65 76 69 63 65 73 >borg usbdevices
0940: 20 3f 3c 69 3e 65 78 74 65 6e 64 65 64 3c 2f 69 ?<i>extended</i
0950: 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 49 >?</tt>.... I
0960: 66 20 3c 74 74 3e 3c 69 3e 65 78 74 65 6e 64 65 f <tt><i>extende
0970: 64 3c 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 6f 6d d</i></tt> is om
0980: 69 74 74 65 64 20 6f 72 20 66 61 6c 73 65 2c 20 itted or false,
0990: 61 20 6c 69 73 74 20 73 75 69 74 61 62 6c 65 20 a list suitable
09a0: 66 6f 72 20 74 68 65 20 3c 74 74 3e 61 72 72 61 for the <tt>arra
09b0: 79 20 73 65 74 3c 2f 74 74 3e 20 6f 72 20 3c 74 y set</tt> or <t
09c0: 74 3e 64 69 63 74 20 63 72 65 61 74 65 3c 2f 74 t>dict create</t
09d0: 74 3e 20 63 6f 6d 6d 61 6e 64 73 20 63 6f 6e 74 t> commands cont
09e0: 61 69 6e 69 6e 67 20 74 68 65 20 55 53 42 20 64 aining the USB d
09f0: 65 76 69 63 65 20 6e 61 6d 65 20 61 6e 64 20 76 evice name and v
0a00: 65 6e 64 6f 72 2f 70 72 6f 64 75 63 74 20 69 64 endor/product id
0a10: 65 6e 74 69 66 69 65 72 20 6f 66 20 61 6c 6c 20 entifier of all
0a20: 63 75 72 72 65 6e 74 6c 79 20 63 6f 6e 6e 65 63 currently connec
0a30: 74 65 64 20 55 53 42 20 64 65 76 69 63 65 73 20 ted USB devices
0a40: 69 73 20 72 65 74 75 72 6e 65 64 2e 20 4f 74 68 is returned. Oth
0a50: 65 72 77 69 73 65 2c 20 69 2e 65 2e 20 3c 74 74 erwise, i.e. <tt
0a60: 3e 3c 69 3e 65 78 74 65 6e 64 65 64 3c 2f 69 3e ><i>extended</i>
0a70: 3c 2f 74 74 3e 20 69 73 20 74 72 75 65 2c 20 74 </tt> is true, t
0a80: 68 72 65 65 20 65 6c 65 6d 65 6e 74 73 20 70 65 hree elements pe
0a90: 72 20 55 53 42 20 64 65 76 69 63 65 20 61 72 65 r USB device are
0aa0: 20 72 65 74 75 72 6e 65 64 3a 20 55 53 42 20 64 returned: USB d
0ab0: 65 76 69 63 65 20 6e 61 6d 65 2c 20 70 72 6f 64 evice name, prod
0ac0: 75 63 74 2f 76 65 6e 64 6f 72 20 69 64 65 6e 74 uct/vendor ident
0ad0: 69 66 69 65 72 2c 20 61 6e 64 20 55 53 42 20 69 ifier, and USB i
0ae0: 6e 74 65 72 66 61 63 65 20 69 6e 66 6f 72 6d 61 nterface informa
0af0: 74 69 6f 6e 20 61 73 20 69 6e 20 3c 74 74 3e 75 tion as in <tt>u
0b00: 64 65 76 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 dev</tt>.....<tt
0b10: 3e 62 6f 72 67 20 75 73 62 70 65 72 6d 69 73 73 >borg usbpermiss
0b20: 69 6f 6e 20 3c 69 3e 64 65 76 6e 61 6d 65 3c 2f ion <i>devname</
0b30: 69 3e 20 3f 3c 69 3e 61 73 6b 3c 2f 69 3e 3f 3c i> ?<i>ask</i>?<
0b40: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 51 75 65 72 /tt>.... Quer
0b50: 69 65 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 66 ies permission f
0b60: 6f 72 20 74 68 65 20 55 53 42 20 64 65 76 69 63 or the USB devic
0b70: 65 20 3c 74 74 3e 3c 69 3e 64 65 76 6e 61 6d 65 e <tt><i>devname
0b80: 3c 2f 69 3e 3c 2f 74 74 3e 20 61 6e 64 20 72 65 </i></tt> and re
0b90: 74 75 72 6e 73 20 31 20 69 66 20 74 68 65 20 64 turns 1 if the d
0ba0: 65 76 69 63 65 20 69 73 20 75 73 61 62 6c 65 2c evice is usable,
0bb0: 20 30 20 69 66 20 6e 6f 74 2c 20 61 6e 64 20 61 0 if not, and a
0bc0: 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 negative number
0bd0: 20 6f 6e 20 65 72 72 6f 72 2e 20 49 66 20 74 68 on error. If th
0be0: 65 20 6f 70 74 69 6f 6e 61 6c 20 62 6f 6f 6c 65 e optional boole
0bf0: 61 6e 20 61 72 67 75 6d 65 6e 74 20 3c 74 74 3e an argument <tt>
0c00: 3c 69 3e 61 73 6b 3c 2f 69 3e 3c 2f 74 74 3e 20 <i>ask</i></tt>
0c10: 69 73 20 73 70 65 63 69 66 69 65 64 20 61 73 20 is specified as
0c20: 74 72 75 65 2c 20 61 20 73 79 73 74 65 6d 20 64 true, a system d
0c30: 69 61 6c 6f 67 20 69 73 20 73 68 6f 77 6e 20 61 ialog is shown a
0c40: 6c 6c 6f 77 69 6e 67 20 74 68 65 20 75 73 65 72 llowing the user
0c50: 20 74 6f 20 67 72 61 6e 74 20 6f 72 20 64 65 6e to grant or den
0c60: 79 20 70 65 72 6d 69 73 73 69 6f 6e 20 66 6f 72 y permission for
0c70: 20 74 68 65 20 55 53 42 20 64 65 76 69 63 65 2e the USB device.
0c80: 0d 0a 0d 0a 46 6f 72 20 63 6f 6d 6d 75 6e 69 63 ....For communic
0c90: 61 74 69 6f 6e 20 6f 76 65 72 20 55 53 42 20 73 ation over USB s
0ca0: 65 72 69 61 6c 20 63 6f 6e 76 65 72 74 65 72 73 erial converters
0cb0: 20 73 65 65 20 74 68 65 20 64 65 73 63 72 69 70 see the descrip
0cc0: 74 69 6f 6e 20 6f 66 20 74 68 65 20 5b 75 73 62 tion of the [usb
0cd0: 73 65 72 69 61 6c 20 63 6f 6d 6d 61 6e 64 5d 2e serial command].
0ce0: 0d 0a 0d 0a 3c 68 34 3e 4e 65 74 77 6f 72 6b 2d ....<h4>Network-
0cf0: 52 65 6c 61 74 65 64 20 43 6f 6d 6d 61 6e 64 73 Related Commands
0d00: 3c 2f 68 34 3e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 </h4>....<tt>bor
0d10: 67 20 6e 65 74 77 6f 72 6b 69 6e 66 6f 3c 2f 74 g networkinfo</t
0d20: 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e t>.... Return
0d30: 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 s the current st
0d40: 61 74 65 20 6f 66 20 74 68 65 20 6e 65 74 77 6f ate of the netwo
0d50: 72 6b 3a 20 3c 74 74 3e 6e 6f 6e 65 3c 2f 74 74 rk: <tt>none</tt
0d60: 3e 2c 20 3c 74 74 3e 77 69 66 69 3c 2f 74 74 3e >, <tt>wifi</tt>
0d70: 2c 20 3c 74 74 3e 6d 6f 62 69 6c 65 20 67 73 6d , <tt>mobile gsm
0d80: 3c 2f 74 74 3e 2c 20 65 74 63 2e 20 41 6e 20 75 </tt>, etc. An u
0d90: 70 64 61 74 65 20 6f 66 20 74 68 69 73 20 69 6e pdate of this in
0da0: 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 69 6e 64 formation is ind
0db0: 69 63 61 74 65 64 20 62 79 20 74 68 65 20 3c 74 icated by the <t
0dc0: 74 3e 3c 3c 4e 65 74 77 6f 72 6b 49 6e 66 6f 3e t><<NetworkInfo>
0dd0: 3e 3c 2f 74 74 3e 20 76 69 72 74 75 61 6c 20 65 ></tt> virtual e
0de0: 76 65 6e 74 20 73 65 6e 74 20 74 6f 20 61 6c 6c vent sent to all
0df0: 20 74 6f 70 6c 65 76 65 6c 20 77 69 64 67 65 74 toplevel widget
0e00: 73 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 74 s.....<tt>borg t
0e10: 65 74 68 65 72 69 6e 66 6f 3c 2f 74 74 3e 0d 0a etherinfo</tt>..
0e20: 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 .. Returns th
0e30: 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 65 20 e current state
0e40: 6f 66 20 74 65 74 68 65 72 69 6e 67 20 61 73 20 of tethering as
0e50: 61 20 6c 69 73 74 20 73 75 69 74 65 64 20 66 6f a list suited fo
0e60: 72 20 3c 74 74 3e 61 72 72 61 79 20 73 65 74 3c r <tt>array set<
0e70: 2f 74 74 3e 20 6f 72 20 3c 74 74 3e 64 69 63 74 /tt> or <tt>dict
0e80: 20 63 72 65 61 74 65 3c 2f 74 74 3e 20 77 69 74 create</tt> wit
0e90: 68 20 7a 65 72 6f 20 6f 72 20 74 68 72 65 65 20 h zero or three
0ea0: 65 6e 74 72 69 65 73 20 3c 74 74 3e 61 63 74 69 entries <tt>acti
0eb0: 76 65 3c 2f 74 74 3e 2c 20 3c 74 74 3e 61 76 61 ve</tt>, <tt>ava
0ec0: 69 6c 61 62 6c 65 3c 2f 74 74 3e 2c 20 61 6e 64 ilable</tt>, and
0ed0: 20 3c 74 74 3e 65 72 72 6f 72 3c 2f 74 74 3e 20 <tt>error</tt>
0ee0: 77 68 69 63 68 20 75 73 75 61 6c 6c 79 20 63 6f which usually co
0ef0: 6e 74 61 69 6e 20 69 6e 74 65 72 66 61 63 65 20 ntain interface
0f00: 6e 61 6d 65 73 2e 20 41 6e 20 75 70 64 61 74 65 names. An update
0f10: 20 6f 66 20 74 68 69 73 20 69 6e 66 6f 72 6d 61 of this informa
0f20: 74 69 6f 6e 20 69 73 20 69 6e 64 69 63 61 74 65 tion is indicate
0f30: 64 20 62 79 20 74 68 65 20 3c 74 74 3e 3c 3c 54 d by the <tt><<T
0f40: 65 74 68 65 72 49 6e 66 6f 3e 3e 3c 2f 74 74 3e etherInfo>></tt>
0f50: 20 76 69 72 74 75 61 6c 20 65 76 65 6e 74 20 73 virtual event s
0f60: 65 6e 74 20 74 6f 20 61 6c 6c 20 74 6f 70 6c 65 ent to all tople
0f70: 76 65 6c 20 77 69 64 67 65 74 73 2e 0d 0a 0d 0a vel widgets.....
0f80: 3c 68 34 3e 44 65 73 6b 74 6f 70 2d 52 65 6c 61 <h4>Desktop-Rela
0f90: 74 65 64 20 43 6f 6d 6d 61 6e 64 73 3c 2f 68 34 ted Commands</h4
0fa0: 3e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 68 >....<tt>borg sh
0fb0: 6f 72 74 63 75 74 20 61 64 64 20 3c 69 3e 6e 61 ortcut add <i>na
0fc0: 6d 65 2d 6f 66 2d 73 68 6f 72 74 63 75 74 20 73 me-of-shortcut s
0fd0: 63 72 69 70 74 2d 74 6f 2d 72 75 6e 3c 2f 69 3e cript-to-run</i>
0fe0: 20 3f 3c 69 3e 70 6e 67 2d 69 63 6f 6e 2d 61 73 ?<i>png-icon-as
0ff0: 2d 62 61 73 65 2d 36 34 2d 73 74 72 69 6e 67 3c -base-64-string<
1000: 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 /i>?</tt>....
1010: 20 41 64 64 73 20 61 6e 20 69 63 6f 6e 20 74 6f Adds an icon to
1020: 20 74 68 65 20 64 65 73 6b 74 6f 70 2c 20 77 69 the desktop, wi
1030: 74 68 20 74 68 65 20 6c 61 62 65 6c 20 3c 74 74 th the label <tt
1040: 3e 3c 69 3e 6e 61 6d 65 2d 6f 66 2d 73 68 6f 72 ><i>name-of-shor
1050: 74 63 75 74 3c 2f 69 3e 3c 2f 74 74 3e 20 73 70 tcut</i></tt> sp
1060: 65 63 69 66 69 65 64 2e 20 54 68 65 20 73 63 72 ecified. The scr
1070: 69 70 74 2c 20 73 70 65 63 69 66 69 65 64 20 61 ipt, specified a
1080: 73 20 3c 74 74 3e 3c 69 3e 73 63 72 69 70 74 2d s <tt><i>script-
1090: 74 6f 2d 72 75 6e 3c 2f 69 3e 3c 2f 74 74 3e 20 to-run</i></tt>
10a0: 6d 75 73 74 20 75 73 65 20 61 6e 20 61 62 73 6f must use an abso
10b0: 6c 75 74 65 20 70 61 74 68 20 61 73 20 61 20 3c lute path as a <
10c0: 74 74 3e 66 69 6c 65 3a 2f 2f 3c 2f 74 74 3e 20 tt>file://</tt>
10d0: 55 52 49 20 61 6e 64 20 6d 75 73 74 20 62 65 20 URI and must be
10e0: 72 65 61 64 61 62 6c 65 20 62 79 20 74 68 65 20 readable by the
10f0: 75 73 65 72 20 69 64 20 75 6e 64 65 72 20 77 68 user id under wh
1100: 69 63 68 20 74 68 65 20 41 6e 64 72 6f 57 69 73 ich the AndroWis
1110: 68 20 70 61 63 6b 61 67 65 20 68 61 73 20 62 65 h package has be
1120: 65 6e 20 72 65 67 69 73 74 65 72 65 64 20 62 79 en registered by
1130: 20 74 68 65 20 41 6e 64 72 6f 69 64 20 69 6e 73 the Android ins
1140: 74 61 6c 6c 65 72 2e 20 54 68 65 20 6c 61 73 74 taller. The last
1150: 20 28 6f 70 74 69 6f 6e 61 6c 29 20 70 61 72 61 (optional) para
1160: 6d 65 74 65 72 20 3c 74 74 3e 3c 69 3e 70 6e 67 meter <tt><i>png
1170: 2d 69 63 6f 6e 2d 61 73 2d 62 61 73 65 2d 36 34 -icon-as-base-64
1180: 2d 73 74 72 69 6e 67 3c 2f 69 3e 3c 2f 74 74 3e -string</i></tt>
1190: 20 61 6c 6c 6f 77 73 20 74 68 65 20 69 63 6f 6e allows the icon
11a0: 20 67 72 61 70 68 69 63 20 74 6f 20 62 65 20 73 graphic to be s
11b0: 70 65 63 69 66 69 65 64 2e 20 49 66 20 6e 6f 74 pecified. If not
11c0: 20 70 72 6f 76 69 64 65 64 2c 20 61 20 64 65 66 provided, a def
11d0: 61 75 6c 74 20 41 6e 64 72 6f 57 69 73 68 20 69 ault AndroWish i
11e0: 63 6f 6e 20 69 73 20 75 73 65 64 2e 20 41 63 63 con is used. Acc
11f0: 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 3c 61 ording to the <a
1200: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 64 65 href="http://de
1210: 76 65 6c 6f 70 65 72 2e 61 6e 64 72 6f 69 64 2e veloper.android.
1220: 63 6f 6d 2f 64 65 73 69 67 6e 2f 73 74 79 6c 65 com/design/style
1230: 2f 69 63 6f 6e 6f 67 72 61 70 68 79 2e 68 74 6d /iconography.htm
1240: 6c 22 3e 67 75 69 64 65 6c 69 6e 65 73 20 6f 6e l">guidelines on
1250: 20 69 63 6f 6e 6f 67 72 61 70 68 79 3c 2f 61 3e iconography</a>
1260: 20 69 63 6f 6e 73 20 73 68 6f 75 6c 64 20 68 61 icons should ha
1270: 76 65 20 61 6e 20 61 73 70 65 63 74 20 72 61 74 ve an aspect rat
1280: 69 6f 20 6f 66 20 34 38 20 62 79 20 34 38 20 70 io of 48 by 48 p
1290: 69 78 65 6c 73 20 28 31 39 32 20 78 20 31 39 32 ixels (192 x 192
12a0: 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2c is recommended,
12b0: 20 61 74 20 34 20 74 69 6d 65 73 20 34 38 78 34 at 4 times 48x4
12c0: 38 20 70 69 78 65 6c 73 29 2e 20 45 78 61 6d 70 8 pixels). Examp
12d0: 6c 65 20 28 70 73 65 75 64 6f 20 63 6f 64 65 29 le (pseudo code)
12e0: 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d :....<verbatim>.
12f0: 0a 20 20 20 20 70 61 63 6b 61 67 65 20 72 65 71 . package req
1300: 75 69 72 65 20 62 61 73 65 36 34 0d 0a 20 20 20 uire base64..
1310: 20 70 72 6f 63 20 72 65 61 64 5f 62 69 6e 61 72 proc read_binar
1320: 79 5f 66 69 6c 65 20 7b 6e 61 6d 65 7d 20 7b 20 y_file {name} {
1330: 23 20 77 68 61 74 65 76 65 72 20 69 73 20 6e 65 # whatever is ne
1340: 65 64 65 64 20 74 6f 20 72 65 61 64 20 62 79 74 eded to read byt
1350: 65 73 20 2e 2e 2e 20 7d 0d 0a 20 20 20 20 73 65 es ... }.. se
1360: 74 20 69 63 6f 6e 64 61 74 61 20 5b 72 65 61 64 t icondata [read
1370: 5f 62 69 6e 61 72 79 5f 66 69 6c 65 20 22 2f 6d _binary_file "/m
1380: 6e 74 2f 73 64 63 61 72 64 2f 61 70 70 69 63 6f nt/sdcard/appico
1390: 6e 5f 34 38 5f 34 38 2e 70 6e 67 22 5d 0d 0a 20 n_48_48.png"]..
13a0: 20 20 20 73 65 74 20 69 63 6f 6e 62 61 73 65 36 set iconbase6
13b0: 34 20 5b 3a 3a 62 61 73 65 36 34 3a 3a 65 6e 63 4 [::base64::enc
13c0: 6f 64 65 20 2d 6d 61 78 6c 65 6e 20 30 20 24 69 ode -maxlen 0 $i
13d0: 63 6f 6e 64 61 74 61 5d 0d 0a 20 20 20 20 62 6f condata].. bo
13e0: 72 67 20 73 68 6f 72 74 63 75 74 20 61 64 64 20 rg shortcut add
13f0: 22 4d 79 20 41 70 70 22 20 66 69 6c 65 3a 2f 2f "My App" file://
1400: 6d 6e 74 2f 73 64 63 61 72 64 2f 73 70 65 61 6b mnt/sdcard/speak
1410: 74 65 73 74 2e 74 63 6c 20 24 69 63 6f 6e 62 61 test.tcl $iconba
1420: 73 65 36 34 0d 0a 3c 2f 76 65 72 62 61 74 69 6d se64..</verbatim
1430: 3e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 68 >....<tt>borg sh
1440: 6f 72 74 63 75 74 20 64 65 6c 65 74 65 20 3c 69 ortcut delete <i
1450: 3e 6e 61 6d 65 2d 6f 66 2d 73 68 6f 72 74 63 75 >name-of-shortcu
1460: 74 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 t</i></tt>....
1470: 20 20 44 65 6c 65 74 65 73 20 61 6e 20 69 63 6f Deletes an ico
1480: 6e 20 66 72 6f 6d 20 64 65 73 6b 74 6f 70 20 28 n from desktop (
1490: 64 65 70 65 6e 64 73 20 6f 6e 20 41 6e 64 72 6f depends on Andro
14a0: 69 64 20 6c 61 75 6e 63 68 65 72 20 73 75 70 70 id launcher supp
14b0: 6f 72 74 29 2e 0d 0a 0d 0a 3c 68 34 3e 4e 6f 74 ort).....<h4>Not
14c0: 69 66 69 63 61 74 69 6f 6e 2d 52 65 6c 61 74 65 ification-Relate
14d0: 64 20 43 6f 6d 6d 61 6e 64 73 3c 2f 68 34 3e 0d d Commands</h4>.
14e0: 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 6e 6f 74 69 ...<tt>borg noti
14f0: 66 69 63 61 74 69 6f 6e 20 61 64 64 20 3c 69 3e fication add <i>
1500: 69 64 20 74 69 74 6c 65 3c 2f 69 3e 20 3f 3c 69 id title</i> ?<i
1510: 3e 74 65 78 74 20 69 63 6f 6e 20 61 63 74 69 6f >text icon actio
1520: 6e 20 75 72 69 20 74 79 70 65 20 63 61 74 65 67 n uri type categ
1530: 6f 72 69 65 73 20 63 6f 6d 70 6f 6e 65 6e 74 20 ories component
1540: 61 72 67 75 6d 65 6e 74 73 3c 2f 69 3e 3f 3c 2f arguments</i>?</
1550: 74 74 3e 0d 0a 0d 0a 20 20 20 20 41 64 64 73 20 tt>.... Adds
1560: 61 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 20 77 a notification w
1570: 69 74 68 20 3c 74 74 3e 3c 69 3e 74 69 74 6c 65 ith <tt><i>title
1580: 3c 2f 69 3e 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 </i></tt> and <t
1590: 74 3e 3c 69 3e 74 65 78 74 3c 2f 69 3e 3c 2f 74 t><i>text</i></t
15a0: 74 3e 20 69 6e 74 6f 20 74 68 65 20 41 6e 64 72 t> into the Andr
15b0: 6f 69 64 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e oid notification
15c0: 20 61 72 65 61 2e 20 54 68 65 20 69 6e 74 65 67 area. The integ
15d0: 65 72 20 3c 74 74 3e 3c 69 3e 69 64 3c 2f 69 3e er <tt><i>id</i>
15e0: 3c 2f 74 74 3e 2c 20 73 70 65 63 69 66 69 65 64 </tt>, specified
15f0: 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2c 20 by the caller,
1600: 69 73 20 75 73 65 64 20 74 6f 20 69 64 65 6e 74 is used to ident
1610: 69 66 79 20 74 68 65 20 6e 6f 74 69 66 69 63 61 ify the notifica
1620: 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 6d tion for later m
1630: 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 72 20 64 odification or d
1640: 65 6c 65 74 69 6f 6e 2e 20 54 68 65 20 6f 70 74 eletion. The opt
1650: 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 73 ional parameters
1660: 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 3c starting from <
1670: 74 74 3e 3c 69 3e 61 63 74 69 6f 6e 3c 2f 69 3e tt><i>action</i>
1680: 3c 2f 74 74 3e 20 66 6f 72 6d 20 61 6e 20 61 63 </tt> form an ac
1690: 74 69 76 69 74 79 20 28 73 65 65 20 3c 74 74 3e tivity (see <tt>
16a0: 62 6f 72 67 20 61 63 74 69 76 69 74 79 20 2e 2e borg activity ..
16b0: 2e 3c 2f 74 74 3e 29 20 74 6f 20 62 65 20 63 61 .</tt>) to be ca
16c0: 72 72 69 65 64 20 6f 75 74 20 77 68 65 6e 20 74 rried out when t
16d0: 68 65 20 75 73 65 72 20 63 6c 69 63 6b 73 20 6f he user clicks o
16e0: 6e 20 74 68 65 20 6e 6f 74 69 66 69 63 61 74 69 n the notificati
16f0: 6f 6e 2e 20 53 65 65 20 74 68 65 20 64 65 73 63 on. See the desc
1700: 72 69 70 74 69 6f 6e 20 6f 66 20 3c 74 74 3e 62 ription of <tt>b
1710: 6f 72 67 20 61 6c 61 72 6d 20 73 65 74 3c 2f 74 org alarm set</t
1720: 74 3e 20 62 65 6c 6f 77 20 66 6f 72 20 73 70 65 t> below for spe
1730: 63 69 61 6c 20 74 72 65 61 74 6d 65 6e 74 20 6f cial treatment o
1740: 66 20 74 68 65 20 3c 74 74 3e 3c 69 3e 63 6f 6d f the <tt><i>com
1750: 70 6f 6e 65 6e 74 3c 2f 69 3e 3c 2f 74 74 3e 20 ponent</i></tt>
1760: 70 61 72 61 6d 65 74 65 72 2e 20 54 68 65 20 6f parameter. The o
1770: 70 74 69 6f 6e 61 6c 20 3c 74 74 3e 3c 69 3e 69 ptional <tt><i>i
1780: 63 6f 6e 3c 2f 69 3e 3c 2f 74 74 3e 20 6d 75 73 con</i></tt> mus
1790: 74 20 62 65 20 61 20 50 4e 47 20 6f 72 20 4a 50 t be a PNG or JP
17a0: 47 20 69 6d 61 67 65 20 65 6e 63 6f 64 65 64 20 G image encoded
17b0: 61 73 20 62 61 73 65 36 34 20 73 74 72 69 6e 67 as base64 string
17c0: 2e 20 54 68 65 20 73 69 7a 65 20 6f 66 20 74 68 . The size of th
17d0: 65 20 69 63 6f 6e 20 73 68 6f 75 6c 64 20 62 65 e icon should be
17e0: 20 32 34 20 62 79 20 32 34 20 70 69 78 65 6c 73 24 by 24 pixels
17f0: 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 6e 6f .....<tt>borg no
1800: 74 69 66 69 63 61 74 69 6f 6e 20 64 65 6c 65 74 tification delet
1810: 65 20 3f 3c 69 3e 69 64 3c 2f 69 3e 3f 3c 2f 74 e ?<i>id</i>?</t
1820: 74 3e 0d 0a 0d 0a 20 20 20 20 44 65 6c 65 74 65 t>.... Delete
1830: 73 20 61 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e s a notification
1840: 20 69 64 65 6e 74 69 66 69 65 64 20 74 68 61 74 identified that
1850: 20 77 61 73 20 63 72 65 61 74 65 64 20 77 69 74 was created wit
1860: 68 20 74 68 65 20 3c 74 74 3e 3c 69 3e 69 64 3c h the <tt><i>id<
1870: 2f 69 3e 3c 2f 74 74 3e 20 73 70 65 63 69 66 69 /i></tt> specifi
1880: 65 64 2e 20 49 66 20 6e 6f 20 3c 74 74 3e 3c 69 ed. If no <tt><i
1890: 3e 69 64 3c 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 >id</i></tt> is
18a0: 70 72 6f 76 69 64 65 64 2c 20 61 6c 6c 20 6e 6f provided, all no
18b0: 74 69 66 69 63 61 74 69 6f 6e 73 20 61 72 65 20 tifications are
18c0: 64 65 6c 65 74 65 64 2e 0d 0a 0d 0a 3c 74 74 3e deleted.....<tt>
18d0: 62 6f 72 67 20 6e 6f 74 69 66 69 63 61 74 69 6f borg notificatio
18e0: 6e 20 6c 65 64 20 3c 69 3e 69 64 20 61 72 67 62 n led <i>id argb
18f0: 20 6f 6e 6d 73 20 6f 66 66 6d 73 3c 2f 69 3e 3c onms offms</i><
1900: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 41 64 64 73 /tt>.... Adds
1910: 20 61 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 20 a notification
1920: 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 74 68 65 20 controlling the
1930: 64 65 76 69 63 65 20 4c 45 44 2e 20 54 68 65 20 device LED. The
1940: 69 6e 74 65 67 65 72 20 3c 74 74 3e 3c 69 3e 69 integer <tt><i>i
1950: 64 3c 2f 69 3e 3c 2f 74 74 3e 2c 20 73 70 65 63 d</i></tt>, spec
1960: 69 66 69 65 64 20 62 79 20 74 68 65 20 63 61 6c ified by the cal
1970: 6c 65 72 2c 20 69 73 20 75 73 65 64 20 74 6f 20 ler, is used to
1980: 69 64 65 6e 74 69 66 79 20 74 68 65 20 6e 6f 74 identify the not
1990: 69 66 69 63 61 74 69 6f 6e 20 66 6f 72 20 6c 61 ification for la
19a0: 74 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e ter modification
19b0: 20 6f 72 20 64 65 6c 65 74 69 6f 6e 2e 20 54 68 or deletion. Th
19c0: 65 20 69 6e 74 65 67 65 72 20 70 61 72 61 6d 65 e integer parame
19d0: 74 65 72 20 3c 69 3e 61 72 67 62 3c 2f 69 3e 20 ter <i>argb</i>
19e0: 69 73 20 74 68 65 20 4c 45 44 20 63 6f 6c 6f 72 is the LED color
19f0: 20 61 73 20 63 6f 6d 62 69 6e 65 64 20 52 47 42 as combined RGB
1a00: 20 76 61 6c 75 65 20 77 69 74 68 20 61 6c 70 68 value with alph
1a10: 61 20 63 68 61 6e 6e 65 6c 2c 20 3c 69 3e 6f 6e a channel, <i>on
1a20: 6d 73 3c 2f 69 3e 20 61 6e 64 20 3c 69 3e 6f 66 ms</i> and <i>of
1a30: 66 6d 73 3c 2f 69 3e 20 61 72 65 20 69 6e 74 65 fms</i> are inte
1a40: 67 65 72 73 2c 20 74 6f 6f 2c 20 63 6f 6e 74 72 gers, too, contr
1a50: 6f 6c 6c 69 6e 67 20 74 68 65 20 64 75 74 79 20 olling the duty
1a60: 63 79 63 6c 65 20 6f 66 20 62 6c 69 6e 6b 69 6e cycle of blinkin
1a70: 67 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 76 g.....<tt>borg v
1a80: 69 62 72 61 74 65 20 3c 69 3e 6d 73 3c 2f 69 3e ibrate <i>ms</i>
1a90: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 54 75 72 </tt>.... Tur
1aa0: 6e 73 20 74 68 65 20 76 69 62 72 61 74 69 6f 6e ns the vibration
1ab0: 20 6d 6f 74 6f 72 20 6f 6e 20 66 6f 72 20 69 6e motor on for in
1ac0: 74 65 67 65 72 20 3c 74 74 3e 3c 69 3e 6d 73 3c teger <tt><i>ms<
1ad0: 2f 69 3e 3c 2f 74 74 3e 20 6d 69 6c 6c 69 73 65 /i></tt> millise
1ae0: 63 6f 6e 64 73 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f conds.....<tt>bo
1af0: 72 67 20 62 65 65 70 20 3f 3c 69 3e 75 72 69 3c rg beep ?<i>uri<
1b00: 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 /i>?</tt>....
1b10: 20 50 6c 61 79 73 20 61 20 6e 6f 74 69 66 69 63 Plays a notific
1b20: 61 74 69 6f 6e 20 73 6f 75 6e 64 2e 20 49 66 20 ation sound. If
1b30: 3c 74 74 3e 3c 69 3e 75 72 69 3c 2f 69 3e 3c 2f <tt><i>uri</i></
1b40: 74 74 3e 20 69 73 20 73 70 65 63 69 66 69 65 64 tt> is specified
1b50: 20 61 6e 64 20 6e 6f 74 20 61 6e 20 65 6d 70 74 and not an empt
1b60: 79 20 73 74 72 69 6e 67 2c 20 69 74 20 69 73 20 y string, it is
1b70: 70 6c 61 79 65 64 20 61 73 20 6e 6f 74 69 66 69 played as notifi
1b80: 63 61 74 69 6f 6e 2f 72 69 6e 67 74 6f 6e 65 2f cation/ringtone/
1b90: 61 6c 61 72 6d 20 73 6f 75 6e 64 2e 20 49 66 20 alarm sound. If
1ba0: 67 69 76 65 6e 20 61 73 20 65 6d 70 74 79 20 73 given as empty s
1bb0: 74 72 69 6e 67 2c 20 74 68 65 20 63 75 72 72 65 tring, the curre
1bc0: 6e 74 20 70 6c 61 79 62 61 63 6b 20 69 73 20 73 nt playback is s
1bd0: 74 6f 70 70 65 64 2e 20 49 66 20 6f 6d 69 74 74 topped. If omitt
1be0: 65 64 20 6f 72 20 75 6e 61 62 6c 65 20 74 6f 20 ed or unable to
1bf0: 62 65 20 72 65 73 6f 6c 76 65 64 2c 20 74 68 65 be resolved, the
1c00: 20 64 65 66 61 75 6c 74 20 6e 6f 74 69 66 69 63 default notific
1c10: 61 74 69 6f 6e 20 73 6f 75 6e 64 20 69 73 20 70 ation sound is p
1c20: 6c 61 79 65 64 2e 20 54 68 65 20 55 52 49 20 74 layed. The URI t
1c30: 79 70 69 63 61 6c 6c 79 20 68 61 73 20 74 68 65 ypically has the
1c40: 20 70 61 74 74 65 72 6e 20 3c 74 74 3e 63 6f 6e pattern <tt>con
1c50: 74 65 6e 74 3a 2f 2f 6d 65 64 69 61 2f 7b 69 6e tent://media/{in
1c60: 74 65 72 6e 61 6c 2c 65 78 74 65 72 6e 61 6c 7d ternal,external}
1c70: 2f 61 75 64 69 6f 2f 6d 65 64 69 61 2f 26 6c 74 /audio/media/<
1c80: 3b 69 64 26 67 74 3b 3c 2f 74 74 3e 2c 20 77 68 ;id></tt>, wh
1c90: 65 72 65 20 3c 74 74 3e 69 64 3c 2f 74 74 3e 20 ere <tt>id</tt>
1ca0: 69 73 20 61 6e 20 69 6e 74 65 67 65 72 20 6e 75 is an integer nu
1cb0: 6d 62 65 72 20 69 64 65 6e 74 69 66 79 69 6e 67 mber identifying
1cc0: 20 61 20 73 6f 75 6e 64 20 66 69 6c 65 2e 20 54 a sound file. T
1cd0: 68 65 20 3c 74 74 3e 62 6f 72 67 20 63 6f 6e 74 he <tt>borg cont
1ce0: 65 6e 74 3c 2f 74 74 3e 20 63 6f 6d 6d 61 6e 64 ent</tt> command
1cf0: 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 can be used to
1d00: 6f 62 74 61 69 6e 20 69 6e 66 6f 72 6d 61 74 69 obtain informati
1d10: 6f 6e 20 6f 6e 20 6e 6f 74 69 66 69 63 61 74 69 on on notificati
1d20: 6f 6e 20 73 6f 75 6e 64 73 20 66 72 6f 6d 20 41 on sounds from A
1d30: 6e 64 72 6f 69 64 27 73 20 6d 65 64 69 61 20 70 ndroid's media p
1d40: 72 6f 76 69 64 65 72 2e 0d 0a 0d 0a 3c 74 74 3e rovider.....<tt>
1d50: 62 6f 72 67 20 73 70 65 61 6b 20 3c 69 3e 74 65 borg speak <i>te
1d60: 78 74 3c 2f 69 3e 20 3f 3c 69 3e 6c 61 6e 67 20 xt</i> ?<i>lang
1d70: 70 69 74 63 68 20 72 61 74 65 3c 2f 69 3e 3f 3c pitch rate</i>?<
1d80: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 47 65 74 73 /tt>.... Gets
1d90: 20 74 68 65 20 41 6e 64 72 6f 69 64 20 74 6f 20 the Android to
1da0: 72 65 61 64 20 6f 75 74 20 74 68 65 20 73 74 72 read out the str
1db0: 69 6e 67 20 3c 74 74 3e 3c 69 3e 74 65 78 74 3c ing <tt><i>text<
1dc0: 2f 69 3e 3c 2f 74 74 3e 2e 20 4f 70 74 69 6f 6e /i></tt>. Option
1dd0: 61 6c 20 70 61 72 61 6d 65 74 65 72 20 3c 74 74 al parameter <tt
1de0: 3e 3c 69 3e 6c 61 6e 67 3c 2f 69 3e 3c 2f 74 74 ><i>lang</i></tt
1df0: 3e 20 69 73 20 74 68 65 20 6c 61 6e 67 75 61 67 > is the languag
1e00: 65 20 63 6f 64 65 20 66 6f 72 20 74 68 65 20 73 e code for the s
1e10: 70 6f 6b 65 6e 20 6c 61 6e 67 75 61 67 65 2c 20 poken language,
1e20: 65 2e 67 2e 20 65 6e 2c 20 65 6e 5f 55 53 2c 20 e.g. en, en_US,
1e30: 64 65 2c 20 65 73 2c 20 65 74 63 2e 20 4f 70 74 de, es, etc. Opt
1e40: 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 73 ional parameters
1e50: 20 3c 74 74 3e 3c 69 3e 70 69 74 63 68 3c 2f 69 <tt><i>pitch</i
1e60: 3e 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 74 3e 3c ></tt> and <tt><
1e70: 69 3e 72 61 74 65 3c 2f 69 3e 3c 2f 74 74 3e 20 i>rate</i></tt>
1e80: 63 6f 6e 74 72 6f 6c 20 74 68 65 20 76 6f 69 63 control the voic
1e90: 65 20 61 6e 64 20 73 70 65 65 64 20 61 73 20 66 e and speed as f
1ea0: 6c 6f 61 74 20 76 61 6c 75 65 73 2e 20 4f 6e 20 loat values. On
1eb0: 73 75 63 63 65 73 73 20 61 6e 20 69 6e 74 65 67 success an integ
1ec0: 65 72 20 6e 75 6d 62 65 72 20 3e 3d 20 31 30 30 er number >= 100
1ed0: 30 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 68 0 is returned wh
1ee0: 69 63 68 20 69 64 65 6e 74 69 66 69 65 73 20 74 ich identifies t
1ef0: 68 65 20 74 65 78 74 20 74 6f 20 62 65 20 73 70 he text to be sp
1f00: 6f 6b 65 6e 20 69 6e 20 76 61 72 69 6f 75 73 20 oken in various
1f10: 76 69 72 74 75 61 6c 20 65 76 65 6e 74 73 2e 20 virtual events.
1f20: 4f 6e 20 65 72 72 6f 72 20 61 20 6e 65 67 61 74 On error a negat
1f30: 69 76 65 20 6e 75 6d 62 65 72 20 69 73 20 72 65 ive number is re
1f40: 74 75 72 6e 65 64 2e 0d 0a 20 3c 61 20 68 72 65 turned... <a hre
1f50: 66 3d 22 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f f="http://develo
1f60: 70 65 72 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f per.android.com/
1f70: 72 65 66 65 72 65 6e 63 65 2f 61 6e 64 72 6f 69 reference/androi
1f80: 64 2f 73 70 65 65 63 68 2f 74 74 73 2f 54 65 78 d/speech/tts/Tex
1f90: 74 54 6f 53 70 65 65 63 68 2e 68 74 6d 6c 22 3e tToSpeech.html">
1fa0: 4d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e More information
1fb0: 3c 2f 61 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 </a>.....<tt>bor
1fc0: 67 20 73 74 6f 70 73 70 65 61 6b 3c 2f 74 74 3e g stopspeak</tt>
1fd0: 0d 0a 0d 0a 20 20 20 20 53 74 6f 70 73 20 73 70 .... Stops sp
1fe0: 65 65 63 68 20 6f 75 74 70 75 74 2e 0d 0a 0d 0a eech output.....
1ff0: 3c 74 74 3e 62 6f 72 67 20 69 73 73 70 65 61 6b <tt>borg isspeak
2000: 69 6e 67 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 ing</tt>....
2010: 52 65 74 75 72 6e 73 20 61 20 73 6d 61 6c 6c 20 Returns a small
2020: 69 6e 74 65 67 65 72 20 69 6e 64 69 63 61 74 69 integer indicati
2030: 6e 67 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 ng the state of
2040: 73 70 65 65 63 68 20 6f 75 74 70 75 74 2e 20 5a speech output. Z
2050: 65 72 6f 20 69 6e 64 69 63 61 74 65 73 20 69 6e ero indicates in
2060: 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 20 itialization of
2070: 73 70 65 65 63 68 20 6f 75 74 70 75 74 20 68 61 speech output ha
2080: 73 20 62 65 65 6e 20 70 65 72 66 6f 72 6d 65 64 s been performed
2090: 20 62 75 74 20 6e 6f 20 73 70 65 65 63 68 20 6f but no speech o
20a0: 75 74 70 75 74 20 69 73 20 63 75 72 72 65 6e 74 utput is current
20b0: 6c 79 20 61 63 74 69 76 65 2e 20 4f 6e 65 20 69 ly active. One i
20c0: 73 20 72 65 74 75 72 6e 65 64 20 77 68 65 6e 20 s returned when
20d0: 73 70 65 65 63 68 20 6f 75 74 70 75 74 20 69 73 speech output is
20e0: 20 61 63 74 69 76 65 2e 20 41 20 73 6d 61 6c 6c active. A small
20f0: 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 negative number
2100: 20 69 6e 64 69 63 61 74 65 73 20 61 6e 20 65 72 indicates an er
2110: 72 6f 72 2c 20 74 65 6d 70 6f 72 61 72 79 20 6f ror, temporary o
2120: 72 20 70 65 72 6d 61 6e 65 6e 74 20 75 6e 61 76 r permanent unav
2130: 61 69 6c 61 62 69 6c 69 74 79 20 6f 66 20 74 68 ailability of th
2140: 65 20 74 65 78 74 2d 74 6f 2d 73 70 65 65 63 68 e text-to-speech
2150: 20 66 61 63 69 6c 69 74 79 2e 20 49 6e 20 6f 72 facility. In or
2160: 64 65 72 20 74 6f 20 73 74 61 72 74 20 75 70 20 der to start up
2170: 74 68 65 20 74 65 78 74 2d 74 6f 2d 73 70 65 65 the text-to-spee
2180: 63 68 20 66 61 63 69 6c 69 74 79 20 74 68 69 73 ch facility this
2190: 20 63 6f 6d 6d 61 6e 64 20 63 61 6e 20 62 65 20 command can be
21a0: 75 73 65 64 2e 20 54 68 65 20 66 69 72 73 74 20 used. The first
21b0: 63 61 6c 6c 20 75 73 75 61 6c 6c 79 20 72 65 74 call usually ret
21c0: 75 72 6e 73 20 2d 31 20 61 6e 64 20 63 61 6c 6c urns -1 and call
21d0: 73 20 73 6f 6d 65 20 66 65 77 20 68 75 6e 64 72 s some few hundr
21e0: 65 64 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 20 ed milliseconds
21f0: 6c 61 74 65 72 20 72 65 74 75 72 6e 20 7a 65 72 later return zer
2200: 6f 2c 20 69 6e 64 69 63 61 74 69 6e 67 20 61 76 o, indicating av
2210: 61 69 6c 61 62 69 6c 69 74 79 20 6f 66 20 74 68 ailability of th
2220: 65 20 74 65 78 74 2d 74 6f 2d 73 70 65 65 63 68 e text-to-speech
2230: 20 66 61 63 69 6c 69 74 79 2e 0d 0a 0d 0a 3c 74 facility.....<t
2240: 74 3e 62 6f 72 67 20 65 6e 64 73 70 65 61 6b 3c t>borg endspeak<
2250: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 53 74 6f 70 /tt>.... Stop
2260: 73 20 73 70 65 65 63 68 20 6f 75 74 70 75 74 20 s speech output
2270: 61 6e 64 20 72 65 6c 65 61 73 65 73 20 73 79 73 and releases sys
2280: 74 65 6d 20 72 65 73 6f 75 72 63 65 73 2e 0d 0a tem resources...
2290: 0d 0a 3c 74 74 3e 62 6f 72 67 20 74 6f 61 73 74 ..<tt>borg toast
22a0: 20 3c 69 3e 74 65 78 74 3c 2f 69 3e 20 3f 3c 69 <i>text</i> ?<i
22b0: 3e 66 6c 61 67 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d >flag</i>?</tt>.
22c0: 0a 0d 0a 20 20 20 20 44 69 73 70 6c 61 79 73 20 ... Displays
22d0: 61 20 74 65 78 74 20 6e 6f 74 69 66 69 63 61 74 a text notificat
22e0: 69 6f 6e 20 3c 74 74 3e 3c 69 3e 74 65 78 74 3c ion <tt><i>text<
22f0: 2f 69 3e 3c 2f 74 74 3e 20 66 6f 72 20 61 20 73 /i></tt> for a s
2300: 68 6f 72 74 20 70 65 72 69 6f 64 20 6f 66 20 74 hort period of t
2310: 69 6d 65 2e 20 54 68 65 20 64 75 72 61 74 69 6f ime. The duratio
2320: 6e 20 6f 66 20 74 68 61 74 20 64 69 73 70 6c 61 n of that displa
2330: 79 20 69 73 20 73 6f 6d 65 77 68 61 74 20 6c 6f y is somewhat lo
2340: 6e 67 65 72 20 77 68 65 6e 20 3c 74 74 3e 3c 69 nger when <tt><i
2350: 3e 66 6c 61 67 3c 2f 69 3e 3c 2f 74 74 3e 20 69 >flag</i></tt> i
2360: 73 20 73 70 65 63 69 66 69 65 64 20 61 73 20 74 s specified as t
2370: 72 75 65 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 rue.....<tt>borg
2380: 20 73 70 69 6e 6e 65 72 20 6f 6e 7c 6f 66 66 3c spinner on|off<
2390: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 44 69 73 70 /tt>.... Disp
23a0: 6c 61 79 73 20 6f 72 20 77 69 74 68 64 72 61 77 lays or withdraw
23b0: 73 20 61 20 73 70 69 6e 6e 65 72 20 28 72 6f 74 s a spinner (rot
23c0: 61 74 69 6e 67 20 73 79 6d 62 6f 6c 20 69 6e 64 ating symbol ind
23d0: 69 63 61 74 69 6e 67 20 62 75 73 79 20 73 74 61 icating busy sta
23e0: 74 65 29 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e te) depending on
23f0: 20 61 72 67 75 6d 65 6e 74 2e 0d 0a 0d 0a 3c 68 argument.....<h
2400: 34 3e 4c 6f 63 61 74 69 6f 6e 2d 52 65 6c 61 74 4>Location-Relat
2410: 65 64 20 43 6f 6d 6d 61 6e 64 73 3c 2f 68 34 3e ed Commands</h4>
2420: 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 6c 6f 63 ....<tt>borg loc
2430: 61 74 69 6f 6e 20 73 74 61 72 74 20 3f 3c 69 3e ation start ?<i>
2440: 6d 69 6e 72 61 74 65 2d 69 6e 2d 6d 73 3c 2f 69 minrate-in-ms</i
2450: 3e 20 3f 3c 69 3e 6d 69 6e 2d 64 69 73 74 2d 69 > ?<i>min-dist-i
2460: 6e 2d 6d 3c 2f 69 3e 3f 3f 3c 2f 74 74 3e 0d 0a n-m</i>??</tt>..
2470: 0d 0a 20 20 20 20 42 65 67 69 6e 73 20 61 63 71 .. Begins acq
2480: 75 69 72 69 6e 67 20 6c 6f 63 61 74 69 6f 6e 20 uiring location
2490: 64 61 74 61 20 76 69 61 20 74 68 65 20 41 6e 64 data via the And
24a0: 72 6f 69 64 20 4f 53 20 28 77 68 69 63 68 20 6d roid OS (which m
24b0: 61 79 20 63 68 6f 6f 73 65 20 74 6f 20 75 73 65 ay choose to use
24c0: 20 47 50 53 2c 20 6e 65 74 77 6f 72 6b 20 69 6e GPS, network in
24d0: 66 6f 2c 20 65 74 63 2e 29 2e 0d 0a 0d 0a 3c 74 fo, etc.).....<t
24e0: 74 3e 62 6f 72 67 20 6c 6f 63 61 74 69 6f 6e 20 t>borg location
24f0: 73 74 6f 70 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 stop</tt>....
2500: 20 45 6e 64 73 20 6c 6f 63 61 74 69 6f 6e 20 64 Ends location d
2510: 61 74 61 20 61 63 71 75 69 73 69 74 69 6f 6e 2e ata acquisition.
2520: 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 6c 6f 63 ....<tt>borg loc
2530: 61 74 69 6f 6e 20 67 65 74 3c 2f 74 74 3e 0d 0a ation get</tt>..
2540: 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 .. Returns th
2550: 65 20 6c 6f 63 61 74 69 6f 6e 20 64 61 74 61 20 e location data
2560: 28 61 73 20 61 6e 20 3c 74 74 3e 61 72 72 61 79 (as an <tt>array
2570: 20 73 65 74 3c 2f 74 74 3e 20 6f 72 20 3c 74 74 set</tt> or <tt
2580: 3e 64 69 63 74 20 63 72 65 61 74 65 3c 2f 74 74 >dict create</tt
2590: 3e 66 6f 72 6d 29 20 77 68 65 72 65 20 74 68 65 >form) where the
25a0: 20 6b 65 79 20 69 73 20 74 68 65 20 6c 6f 63 61 key is the loca
25b0: 74 69 6f 6e 20 73 6f 75 72 63 65 2e 20 4c 6f 63 tion source. Loc
25c0: 61 74 69 6f 6e 20 75 70 64 61 74 65 73 20 74 72 ation updates tr
25d0: 69 67 67 65 72 20 61 20 76 69 72 74 75 61 6c 20 igger a virtual
25e0: 65 76 65 6e 74 20 3c 74 74 3e 3c 3c 4c 6f 63 61 event <tt><<Loca
25f0: 74 69 6f 6e 55 70 64 61 74 65 3e 3e 3c 2f 74 74 tionUpdate>></tt
2600: 3e 20 74 68 61 74 20 69 73 20 73 65 6e 74 20 74 > that is sent t
2610: 6f 20 61 6c 6c 20 74 6f 70 6c 65 76 65 6c 20 77 o all toplevel w
2620: 69 64 67 65 74 73 2e 20 54 68 65 73 65 20 74 6f idgets. These to
2630: 70 6c 65 76 65 6c 20 65 76 65 6e 74 2d 68 61 6e plevel event-han
2640: 64 6c 65 72 73 20 73 68 6f 75 6c 64 2c 20 69 6e dlers should, in
2650: 20 74 75 72 6e 2c 20 69 6e 76 6f 6b 65 20 3c 74 turn, invoke <t
2660: 74 3e 62 6f 72 67 20 6c 6f 63 61 74 69 6f 6e 20 t>borg location
2670: 67 65 74 3c 2f 74 74 3e 20 74 6f 20 72 65 66 72 get</tt> to refr
2680: 65 73 68 20 74 68 65 69 72 20 6b 6e 6f 77 6c 65 esh their knowle
2690: 64 67 65 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 dge.....<tt>borg
26a0: 20 6c 6f 63 61 74 69 6f 6e 20 67 70 73 3c 2f 74 location gps</t
26b0: 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e t>.... Return
26c0: 73 20 47 50 53 20 69 6e 66 6f 72 6d 61 74 69 6f s GPS informatio
26d0: 6e 20 69 6e 20 3c 74 74 3e 61 72 72 61 79 20 73 n in <tt>array s
26e0: 65 74 3c 2f 74 74 3e 20 6f 72 20 3c 74 74 3e 64 et</tt> or <tt>d
26f0: 69 63 74 20 63 72 65 61 74 65 3c 2f 74 74 3e 20 ict create</tt>
2700: 66 6f 72 6d 20 77 69 74 68 20 74 68 65 20 6b 65 form with the ke
2710: 79 73 20 3c 74 74 3e 73 74 61 74 65 3c 2f 74 74 ys <tt>state</tt
2720: 3e 20 28 6f 6e 20 6f 72 20 6f 66 66 29 20 61 6e > (on or off) an
2730: 64 20 3c 74 74 3e 66 69 72 73 74 5f 66 69 78 3c d <tt>first_fix<
2740: 2f 74 74 3e 20 28 74 69 6d 65 20 69 6e 20 73 65 /tt> (time in se
2750: 63 6f 6e 64 73 20 75 6e 74 69 6c 20 66 69 72 73 conds until firs
2760: 74 20 66 69 78 20 65 78 70 65 63 74 65 64 29 2e t fix expected).
2770: 20 55 70 64 61 74 65 73 20 69 6e 20 47 50 53 20 Updates in GPS
2780: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 72 65 20 information are
2790: 69 6e 64 69 63 61 74 65 64 20 62 79 20 74 68 65 indicated by the
27a0: 20 3c 74 74 3e 3c 3c 47 50 53 55 70 64 61 74 65 <tt><<GPSUpdate
27b0: 3e 3e 3c 2f 74 74 3e 20 76 69 72 74 75 61 6c 20 >></tt> virtual
27c0: 65 76 65 6e 74 20 73 65 6e 74 20 74 6f 20 61 6c event sent to al
27d0: 6c 20 74 6f 70 6c 65 76 65 6c 20 77 69 64 67 65 l toplevel widge
27e0: 74 73 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 ts.....<tt>borg
27f0: 6c 6f 63 61 74 69 6f 6e 20 73 61 74 65 6c 6c 69 location satelli
2800: 74 65 73 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 tes</tt>....
2810: 52 65 74 75 72 6e 73 20 47 50 53 20 73 61 74 65 Returns GPS sate
2820: 6c 6c 69 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f llite informatio
2830: 6e 20 69 6e 20 3c 74 74 3e 61 72 72 61 79 20 73 n in <tt>array s
2840: 65 74 3c 2f 74 74 3e 20 6f 72 20 3c 74 74 3e 64 et</tt> or <tt>d
2850: 69 63 74 20 63 72 65 61 74 65 3c 2f 74 74 3e 20 ict create</tt>
2860: 66 6f 72 6d 20 77 68 65 72 65 20 74 68 65 20 6b form where the k
2870: 65 79 20 69 73 20 61 20 6e 75 6d 65 72 69 63 61 ey is a numerica
2880: 6c 20 69 6e 64 65 78 20 61 6e 64 20 74 68 65 20 l index and the
2890: 76 61 6c 75 65 73 20 61 72 65 20 70 65 72 20 73 values are per s
28a0: 61 74 65 6c 6c 69 74 65 20 69 6e 66 6f 72 6d 61 atellite informa
28b0: 74 69 6f 6e 20 69 6e 20 3c 74 74 3e 61 72 72 61 tion in <tt>arra
28c0: 79 20 73 65 74 3c 2f 74 74 3e 20 6f 72 20 3c 74 y set</tt> or <t
28d0: 74 3e 64 69 63 74 20 63 72 65 61 74 65 3c 2f 74 t>dict create</t
28e0: 74 3e 20 66 6f 72 6d 20 63 6f 6e 74 61 69 6e 69 t> form containi
28f0: 6e 67 20 74 68 65 20 66 69 65 6c 64 73 20 3c 74 ng the fields <t
2900: 74 3e 69 6e 64 65 78 3c 2f 74 74 3e 2c 20 3c 74 t>index</tt>, <t
2910: 74 3e 61 7a 69 6d 75 74 68 3c 2f 74 74 3e 2c 20 t>azimuth</tt>,
2920: 3c 74 74 3e 65 6c 65 76 61 74 69 6f 6e 3c 2f 74 <tt>elevation</t
2930: 74 3e 2c 20 3c 74 74 3e 70 72 6e 3c 2f 74 74 3e t>, <tt>prn</tt>
2940: 2c 20 3c 74 74 3e 73 6e 72 3c 2f 74 74 3e 2c 20 , <tt>snr</tt>,
2950: 3c 74 74 3e 61 6c 6d 61 6e 61 63 3c 2f 74 74 3e <tt>almanac</tt>
2960: 2c 20 3c 74 74 3e 65 70 68 65 6d 65 72 69 73 3c , <tt>ephemeris<
2970: 2f 74 74 3e 2c 20 61 6e 64 20 3c 74 74 3e 69 6e /tt>, and <tt>in
2980: 66 69 78 3c 2f 74 74 3e 2e 20 55 70 64 61 74 65 fix</tt>. Update
2990: 73 20 69 6e 20 47 50 53 20 69 6e 66 6f 72 6d 61 s in GPS informa
29a0: 74 69 6f 6e 20 61 72 65 20 69 6e 64 69 63 61 74 tion are indicat
29b0: 65 64 20 62 79 20 74 68 65 20 3c 74 74 3e 3c 3c ed by the <tt><<
29c0: 47 50 53 55 70 64 61 74 65 3e 3e 3c 2f 74 74 3e GPSUpdate>></tt>
29d0: 20 76 69 72 74 75 61 6c 20 65 76 65 6e 74 20 73 virtual event s
29e0: 65 6e 74 20 74 6f 20 61 6c 6c 20 74 6f 70 6c 65 ent to all tople
29f0: 76 65 6c 20 77 69 64 67 65 74 73 2e 0d 0a 0d 0a vel widgets.....
2a00: 3c 74 74 3e 62 6f 72 67 20 6c 6f 63 61 74 69 6f <tt>borg locatio
2a10: 6e 20 6e 6d 65 61 3c 2f 74 74 3e 0d 0a 0d 0a 20 n nmea</tt>....
2a20: 20 20 20 52 65 74 75 72 6e 73 20 61 20 73 74 72 Returns a str
2a30: 69 6e 67 20 6d 61 64 65 20 75 70 20 6f 66 20 74 ing made up of t
2a40: 68 65 20 4e 4d 45 41 20 73 65 6e 74 65 6e 63 65 he NMEA sentence
2a50: 73 20 63 6f 6c 6c 65 63 74 65 64 20 6f 76 65 72 s collected over
2a60: 20 74 68 65 20 6c 61 73 74 20 73 65 63 6f 6e 64 the last second
2a70: 2e 20 55 70 64 61 74 65 73 20 69 6e 20 74 68 69 . Updates in thi
2a80: 73 20 73 74 72 69 6e 67 20 61 72 65 20 69 6e 64 s string are ind
2a90: 69 63 61 74 65 64 20 62 79 20 74 68 65 20 3c 74 icated by the <t
2aa0: 74 3e 3c 3c 4e 4d 45 41 55 70 64 61 74 65 3e 3e t><<NMEAUpdate>>
2ab0: 3c 2f 74 74 3e 20 76 69 72 74 75 61 6c 20 65 76 </tt> virtual ev
2ac0: 65 6e 74 20 73 65 6e 74 20 74 6f 20 61 6c 6c 20 ent sent to all
2ad0: 74 6f 70 6c 65 76 65 6c 20 77 69 64 67 65 74 73 toplevel widgets
2ae0: 2e 0d 0a 0d 0a 3c 68 34 3e 53 79 73 74 65 6d 2d .....<h4>System-
2af0: 52 65 6c 61 74 65 64 20 43 6f 6d 6d 61 6e 64 73 Related Commands
2b00: 3c 2f 68 34 3e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 </h4>....<tt>bor
2b10: 67 20 64 69 73 70 6c 61 79 6d 65 74 72 69 63 73 g displaymetrics
2b20: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 </tt>.... Ret
2b30: 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e urns information
2b40: 20 61 62 6f 75 74 20 74 68 65 20 64 69 73 70 6c about the displ
2b50: 61 79 20 69 6e 20 66 6f 72 6d 20 73 75 69 74 65 ay in form suite
2b60: 64 20 66 6f 72 20 3c 74 74 3e 61 72 72 61 79 20 d for <tt>array
2b70: 73 65 74 3c 2f 74 74 3e 20 6f 72 20 3c 74 74 3e set</tt> or <tt>
2b80: 64 69 63 74 20 63 72 65 61 74 65 3c 2f 74 74 3e dict create</tt>
2b90: 2c 20 65 2e 67 2e 20 64 69 73 70 6c 61 79 20 72 , e.g. display r
2ba0: 65 73 6f 6c 75 74 69 6f 6e 2c 20 70 69 78 65 6c esolution, pixel
2bb0: 20 64 65 6e 73 69 74 79 2e 20 54 68 65 20 65 6e density. The en
2bc0: 74 72 79 20 3c 74 74 3e 72 6f 74 61 74 69 6f 6e try <tt>rotation
2bd0: 3c 2f 74 74 3e 20 67 69 76 65 73 20 74 68 65 20 </tt> gives the
2be0: 63 75 72 72 65 6e 74 20 73 63 72 65 65 6e 20 72 current screen r
2bf0: 6f 74 61 74 69 6f 6e 20 69 6e 20 64 65 67 72 65 otation in degre
2c00: 65 73 2e 20 54 68 65 20 30 20 64 65 67 72 65 65 es. The 0 degree
2c10: 20 70 6f 69 6e 74 20 76 61 72 69 65 73 20 62 65 point varies be
2c20: 74 77 65 65 6e 20 64 65 76 69 63 65 73 2c 20 74 tween devices, t
2c30: 79 70 69 63 61 6c 20 73 6d 61 72 74 20 70 68 6f ypical smart pho
2c40: 6e 65 73 20 72 65 70 6f 72 74 20 30 20 66 6f 72 nes report 0 for
2c50: 20 70 6f 72 74 72 61 69 74 2c 20 74 61 62 6c 65 portrait, table
2c60: 74 73 20 72 65 70 6f 72 74 20 30 20 66 6f 72 20 ts report 0 for
2c70: 6c 61 6e 64 73 63 61 70 65 20 6f 72 69 65 6e 74 landscape orient
2c80: 61 74 69 6f 6e 2e 20 3c 61 20 68 72 65 66 3d 22 ation. <a href="
2c90: 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 http://developer
2ca0: 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 72 65 66 .android.com/ref
2cb0: 65 72 65 6e 63 65 2f 61 6e 64 72 6f 69 64 2f 75 erence/android/u
2cc0: 74 69 6c 2f 44 69 73 70 6c 61 79 4d 65 74 72 69 til/DisplayMetri
2cd0: 63 73 2e 68 74 6d 6c 22 3e 4d 6f 72 65 20 69 6e cs.html">More in
2ce0: 66 6f 72 6d 61 74 69 6f 6e 3c 2f 61 3e 2e 0d 0a formation</a>...
2cf0: 0d 0a 3c 74 74 3e 62 6f 72 67 20 6f 73 62 75 69 ..<tt>borg osbui
2d00: 6c 64 69 6e 66 6f 3c 2f 74 74 3e 0d 0a 0d 0a 20 ldinfo</tt>....
2d10: 20 20 20 52 65 74 75 72 6e 73 20 69 6e 66 6f 72 Returns infor
2d20: 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 mation about the
2d30: 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 operating syste
2d40: 6d 20 61 6e 64 20 64 65 76 69 63 65 20 69 6e 20 m and device in
2d50: 66 6f 72 6d 20 73 75 69 74 65 64 20 66 6f 72 20 form suited for
2d60: 3c 74 74 3e 61 72 72 61 79 20 73 65 74 3c 2f 74 <tt>array set</t
2d70: 74 3e 20 6f 72 20 3c 74 74 3e 64 69 63 74 20 63 t> or <tt>dict c
2d80: 72 65 61 74 65 3c 2f 74 74 3e 2c 20 65 2e 67 2e reate</tt>, e.g.
2d90: 20 41 6e 64 72 6f 69 64 20 41 50 49 20 6c 65 76 Android API lev
2da0: 65 6c 2c 20 76 65 72 73 69 6f 6e 2c 20 64 65 76 el, version, dev
2db0: 69 63 65 20 6e 61 6d 65 2c 20 6d 61 6e 75 66 61 ice name, manufa
2dc0: 63 74 75 72 65 72 20 65 74 63 2e 20 3c 61 20 68 cturer etc. <a h
2dd0: 72 65 66 3d 22 68 74 74 70 3a 2f 2f 64 65 76 65 ref="http://deve
2de0: 6c 6f 70 65 72 2e 61 6e 64 72 6f 69 64 2e 63 6f loper.android.co
2df0: 6d 2f 72 65 66 65 72 65 6e 63 65 2f 61 6e 64 72 m/reference/andr
2e00: 6f 69 64 2f 6f 73 2f 42 75 69 6c 64 2e 68 74 6d oid/os/Build.htm
2e10: 6c 22 3e 4d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 l">More informat
2e20: 69 6f 6e 3c 2f 61 3e 2e 0d 0a 0d 0a 3c 74 74 3e ion</a>.....<tt>
2e30: 62 6f 72 67 20 71 75 65 72 79 66 65 61 74 75 72 borg queryfeatur
2e40: 65 73 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 es</tt>.... R
2e50: 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 eturns informati
2e60: 6f 6e 20 61 62 6f 75 74 20 66 65 61 74 75 72 65 on about feature
2e70: 73 20 6f 66 20 74 68 65 20 73 79 73 74 65 6d 20 s of the system
2e80: 28 61 20 6c 65 6e 67 74 68 79 20 6c 69 73 74 20 (a lengthy list
2e90: 6f 66 20 73 74 72 69 6e 67 73 29 20 77 68 69 63 of strings) whic
2ea0: 68 20 69 73 20 6f 62 74 61 69 6e 65 64 20 66 72 h is obtained fr
2eb0: 6f 6d 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 om <a href="http
2ec0: 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 61 6e 64 ://developer.and
2ed0: 72 6f 69 64 2e 63 6f 6d 2f 72 65 66 65 72 65 6e roid.com/referen
2ee0: 63 65 2f 61 6e 64 72 6f 69 64 2f 63 6f 6e 74 65 ce/android/conte
2ef0: 6e 74 2f 70 6d 2f 50 61 63 6b 61 67 65 4d 61 6e nt/pm/PackageMan
2f00: 61 67 65 72 2e 68 74 6d 6c 23 67 65 74 53 79 73 ager.html#getSys
2f10: 74 65 6d 41 76 61 69 6c 61 62 6c 65 46 65 61 74 temAvailableFeat
2f20: 75 72 65 73 28 29 22 3e 67 65 74 53 79 73 74 65 ures()">getSyste
2f30: 6d 41 76 61 69 6c 61 62 6c 65 46 65 61 74 75 72 mAvailableFeatur
2f40: 65 73 3c 2f 61 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 es</a>.....<tt>b
2f50: 6f 72 67 20 71 75 65 72 79 63 6f 6e 73 74 73 20 org queryconsts
2f60: 3c 69 3e 63 6c 61 73 73 6e 61 6d 65 3c 2f 69 3e <i>classname</i>
2f70: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 </tt>.... Ret
2f80: 75 72 6e 73 20 61 20 64 69 63 74 69 6f 6e 61 72 urns a dictionar
2f90: 79 20 6f 66 20 63 6f 6e 73 74 61 6e 74 73 20 6f y of constants o
2fa0: 66 20 74 68 65 20 28 6c 6f 61 64 65 64 29 20 4a f the (loaded) J
2fb0: 61 76 61 20 63 6c 61 73 73 20 3c 74 74 3e 3c 69 ava class <tt><i
2fc0: 3e 63 6c 61 73 73 6e 61 6d 65 3c 2f 69 3e 3c 2f >classname</i></
2fd0: 74 74 3e 2e 20 54 68 65 20 6b 65 79 73 20 61 72 tt>. The keys ar
2fe0: 65 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 e the names of t
2ff0: 68 65 20 63 6f 6e 73 74 61 6e 74 73 2c 20 74 68 he constants, th
3000: 65 20 76 61 6c 75 65 73 20 74 68 65 69 72 20 76 e values their v
3010: 61 6c 75 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c alue. For exampl
3020: 65 2c 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 6f e, the symbols o
3030: 66 20 3c 74 74 3e 53 59 53 54 45 4d 5f 55 49 5f f <tt>SYSTEM_UI_
3040: 2a 3c 2f 74 74 3e 20 66 6c 61 67 73 20 61 72 65 *</tt> flags are
3050: 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 available when
3060: 79 6f 75 20 65 76 61 6c 75 61 74 65 3a 0d 0a 0d you evaluate:...
3070: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 20 20 20 .<verbatim>..
3080: 20 62 6f 72 67 20 71 75 65 72 79 63 6f 6e 73 74 borg queryconst
3090: 73 20 61 6e 64 72 6f 69 64 2e 76 69 65 77 2e 56 s android.view.V
30a0: 69 65 77 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e iew..</verbatim>
30b0: 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 71 75 65 ....<tt>borg que
30c0: 72 79 66 69 65 6c 64 73 20 3c 69 3e 63 6c 61 73 ryfields <i>clas
30d0: 73 6e 61 6d 65 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a sname</i></tt>..
30e0: 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 61 20 .. Returns a
30f0: 64 69 63 74 69 6f 6e 61 72 79 20 6f 66 20 63 6f dictionary of co
3100: 6e 73 74 61 6e 74 73 20 61 6e 64 20 73 74 61 74 nstants and stat
3110: 69 63 20 66 69 65 6c 64 73 20 6f 66 20 74 68 65 ic fields of the
3120: 20 28 6c 6f 61 64 65 64 29 20 4a 61 76 61 20 63 (loaded) Java c
3130: 6c 61 73 73 20 3c 74 74 3e 3c 69 3e 63 6c 61 73 lass <tt><i>clas
3140: 73 6e 61 6d 65 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 sname</i></tt>.
3150: 54 68 69 73 20 69 73 20 73 69 6d 69 6c 61 72 20 This is similar
3160: 74 6f 20 3c 74 74 3e 62 6f 72 67 20 71 75 65 72 to <tt>borg quer
3170: 79 63 6f 6e 73 74 73 3c 2f 74 74 3e 20 62 75 74 yconsts</tt> but
3180: 20 61 6c 6c 6f 77 73 20 74 6f 20 72 65 74 72 69 allows to retri
3190: 65 76 65 20 6e 6f 2d 63 6f 6e 73 74 61 6e 74 20 eve no-constant
31a0: 73 74 72 69 6e 67 73 2c 20 74 6f 6f 2e 20 4d 6f strings, too. Mo
31b0: 73 74 20 75 73 65 66 75 6c 20 69 6e 20 63 6f 6d st useful in com
31c0: 62 69 6e 61 74 69 6f 6e 20 77 69 74 68 20 74 68 bination with th
31d0: 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a e <a href="http:
31e0: 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 61 6e 64 72 //developer.andr
31f0: 6f 69 64 2e 63 6f 6d 2f 72 65 66 65 72 65 6e 63 oid.com/referenc
3200: 65 2f 61 6e 64 72 6f 69 64 2f 6f 73 2f 45 6e 76 e/android/os/Env
3210: 69 72 6f 6e 6d 65 6e 74 2e 68 74 6d 6c 22 3e 61 ironment.html">a
3220: 6e 64 72 6f 69 64 2e 6f 73 2e 45 6e 76 69 72 6f ndroid.os.Enviro
3230: 6e 6d 65 6e 74 3c 2f 61 3e 20 63 6c 61 73 73 2e nment</a> class.
3240: 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 70 61 63 ....<tt>borg pac
3250: 6b 61 67 65 69 6e 66 6f 20 3f 3c 69 3e 6e 61 6d kageinfo ?<i>nam
3260: 65 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 e</i>?</tt>....
3270: 20 20 20 52 65 74 75 72 6e 73 20 69 6e 66 6f 72 Returns infor
3280: 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 69 6e 73 mation about ins
3290: 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 20 talled packages
32a0: 6f 72 20 61 6e 20 69 6e 64 69 76 69 64 75 61 6c or an individual
32b0: 20 70 61 63 6b 61 67 65 20 69 66 20 69 74 73 20 package if its
32c0: 3c 74 74 3e 3c 69 3e 6e 61 6d 65 3c 2f 69 3e 3c <tt><i>name</i><
32d0: 2f 74 74 3e 20 69 73 20 67 69 76 65 6e 2e 20 49 /tt> is given. I
32e0: 6e 20 74 68 65 20 66 69 72 73 74 20 63 61 73 65 n the first case
32f0: 2c 20 61 20 6c 69 73 74 20 77 69 74 68 20 70 61 , a list with pa
3300: 63 6b 61 67 65 20 6e 61 6d 65 73 20 69 73 20 72 ckage names is r
3310: 65 74 75 72 6e 65 64 2c 20 69 6e 20 74 68 65 20 eturned, in the
3320: 6c 61 74 74 65 72 20 63 61 73 65 20 61 20 6c 69 latter case a li
3330: 73 74 20 6f 66 20 6b 65 79 20 76 61 6c 75 65 20 st of key value
3340: 70 61 69 72 73 20 77 69 74 68 20 70 61 63 6b 61 pairs with packa
3350: 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77 ge information w
3360: 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65 64 hich can be used
3370: 20 66 6f 72 20 3c 74 74 3e 61 72 72 61 79 20 73 for <tt>array s
3380: 65 74 3c 2f 74 74 3e 20 6f 72 20 3c 74 74 3e 64 et</tt> or <tt>d
3390: 69 63 74 20 63 72 65 61 74 65 3c 2f 74 74 3e 2e ict create</tt>.
33a0: 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 70 72 6f ....<tt>borg pro
33b0: 76 69 64 65 72 69 6e 66 6f 3c 2f 74 74 3e 0d 0a viderinfo</tt>..
33c0: 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 .. Returns th
33d0: 65 20 61 75 74 68 6f 72 69 74 79 20 6e 61 6d 65 e authority name
33e0: 73 20 6f 66 20 61 6c 6c 20 63 6f 6e 74 65 6e 74 s of all content
33f0: 20 70 72 6f 76 69 64 65 72 73 20 6b 6e 6f 77 6e providers known
3400: 20 74 6f 20 74 68 65 20 73 79 73 74 65 6d 20 61 to the system a
3410: 73 20 61 20 6c 69 73 74 2e 0d 0a 0d 0a 3c 74 74 s a list.....<tt
3420: 3e 62 6f 72 67 20 6c 6f 67 20 3c 69 3e 70 72 69 >borg log <i>pri
3430: 6f 20 74 61 67 20 6d 65 73 73 61 67 65 3c 2f 69 o tag message</i
3440: 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 57 72 ></tt>.... Wr
3450: 69 74 65 73 20 74 68 65 20 6d 65 73 73 61 67 65 ites the message
3460: 20 3c 74 74 3e 3c 69 3e 6d 65 73 73 61 67 65 3c <tt><i>message<
3470: 2f 69 3e 3c 2f 74 74 3e 20 74 6f 20 41 6e 64 72 /i></tt> to Andr
3480: 6f 69 64 27 73 20 73 79 73 74 65 6d 20 6c 6f 67 oid's system log
3490: 20 77 69 74 68 20 70 72 69 6f 72 69 74 79 20 3c with priority <
34a0: 74 74 3e 3c 69 3e 70 72 69 6f 3c 2f 69 3e 3c 2f tt><i>prio</i></
34b0: 74 74 3e 20 28 6f 6e 65 20 6f 66 20 3c 74 74 3e tt> (one of <tt>
34c0: 76 65 72 62 6f 73 65 3c 2f 74 74 3e 2c 20 3c 74 verbose</tt>, <t
34d0: 74 3e 64 65 62 75 67 3c 2f 74 74 3e 2c 20 3c 74 t>debug</tt>, <t
34e0: 74 3e 69 6e 66 6f 3c 2f 74 74 3e 2c 20 3c 74 74 t>info</tt>, <tt
34f0: 3e 77 61 72 6e 3c 2f 74 74 3e 2c 20 3c 74 74 3e >warn</tt>, <tt>
3500: 65 72 72 6f 72 3c 2f 74 74 3e 2c 20 6f 72 20 3c error</tt>, or <
3510: 74 74 3e 66 61 74 61 6c 3c 2f 74 74 3e 29 20 61 tt>fatal</tt>) a
3520: 6e 64 20 61 20 75 73 65 72 20 63 68 6f 73 65 6e nd a user chosen
3530: 20 70 72 65 66 69 78 20 3c 74 74 3e 3c 69 3e 74 prefix <tt><i>t
3540: 61 67 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 54 68 65 ag</i></tt>. The
3550: 73 65 20 6c 6f 67 20 6d 65 73 73 61 67 65 73 20 se log messages
3560: 63 61 6e 20 62 65 20 64 69 73 70 6c 61 79 65 64 can be displayed
3570: 20 75 73 69 6e 67 20 3c 74 74 3e 61 64 62 20 6c using <tt>adb l
3580: 6f 67 63 61 74 3c 2f 74 74 3e 20 6f 6e 20 74 68 ogcat</tt> on th
3590: 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 73 79 e development sy
35a0: 73 74 65 6d 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 stem.....<tt>bor
35b0: 67 20 74 72 61 63 65 20 3c 69 3e 6d 65 73 73 61 g trace <i>messa
35c0: 67 65 20 73 63 72 69 70 74 3c 2f 69 3e 3c 2f 74 ge script</i></t
35d0: 74 3e 0d 0a 0d 0a 20 20 20 20 45 76 61 6c 75 61 t>.... Evalua
35e0: 74 65 73 20 3c 74 74 3e 3c 69 3e 73 63 72 69 70 tes <tt><i>scrip
35f0: 74 3c 2f 69 3e 3c 2f 74 74 3e 20 61 6e 64 20 61 t</i></tt> and a
3600: 64 64 73 20 3c 74 74 3e 3c 69 3e 6d 65 73 73 61 dds <tt><i>messa
3610: 67 65 3c 2f 69 3e 3c 2f 74 74 3e 20 62 65 66 6f ge</i></tt> befo
3620: 72 65 20 61 6e 64 20 61 66 74 65 72 20 74 68 61 re and after tha
3630: 74 20 65 76 61 6c 75 61 74 69 6f 6e 20 74 6f 20 t evaluation to
3640: 41 6e 64 72 6f 69 64 27 73 20 73 79 73 74 65 6d Android's system
3650: 20 74 72 61 63 65 20 62 75 66 66 65 72 2e 20 54 trace buffer. T
3660: 68 69 73 20 69 73 20 73 75 70 70 6f 72 74 65 64 his is supported
3670: 20 6f 6e 6c 79 20 6f 6e 20 6e 65 77 65 72 20 41 only on newer A
3680: 6e 64 72 6f 69 64 20 4f 53 20 76 65 72 73 69 6f ndroid OS versio
3690: 6e 73 20 28 34 2e 33 20 61 6e 64 20 61 62 6f 76 ns (4.3 and abov
36a0: 65 29 20 61 6e 64 20 66 75 72 74 68 65 72 20 64 e) and further d
36b0: 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 65 20 escribed in the
36c0: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f <a href="http://
36d0: 64 65 76 65 6c 6f 70 65 72 2e 61 6e 64 72 6f 69 developer.androi
36e0: 64 2e 63 6f 6d 2f 72 65 66 65 72 65 6e 63 65 2f d.com/reference/
36f0: 61 6e 64 72 6f 69 64 2f 6f 73 2f 54 72 61 63 65 android/os/Trace
3700: 2e 68 74 6d 6c 22 3e 61 6e 64 72 6f 69 64 2e 6f .html">android.o
3710: 73 2e 54 72 61 63 65 3c 2f 61 3e 20 63 6c 61 73 s.Trace</a> clas
3720: 73 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 s.....<tt>borg s
3730: 79 73 74 65 6d 70 72 6f 70 65 72 74 69 65 73 20 ystemproperties
3740: 3f 3c 69 3e 6e 61 6d 65 3c 2f 69 3e 3f 3c 2f 74 ?<i>name</i>?</t
3750: 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e t>.... Return
3760: 73 20 61 20 6c 69 73 74 20 6f 66 20 73 79 73 74 s a list of syst
3770: 65 6d 20 70 72 6f 70 65 72 74 69 65 73 20 28 61 em properties (a
3780: 20 6c 65 6e 67 74 68 79 20 6c 69 73 74 20 6f 66 lengthy list of
3790: 20 6b 65 79 20 76 61 6c 75 65 20 70 61 69 72 73 key value pairs
37a0: 29 20 6f 72 20 74 68 65 20 76 61 6c 75 65 20 6f ) or the value o
37b0: 66 20 61 20 73 70 65 63 69 66 69 63 20 73 79 73 f a specific sys
37c0: 74 65 6d 20 70 72 6f 70 65 72 74 79 20 69 66 20 tem property if
37d0: 3c 74 74 3e 3c 69 3e 6e 61 6d 65 3c 2f 69 3e 3c <tt><i>name</i><
37e0: 2f 74 74 3e 20 69 73 20 67 69 76 65 6e 2e 0d 0a /tt> is given...
37f0: 0d 0a 3c 74 74 3e 62 6f 72 67 20 63 68 65 63 6b ..<tt>borg check
3800: 70 65 72 6d 69 73 73 69 6f 6e 20 3c 69 3e 6e 61 permission <i>na
3810: 6d 65 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 me</i></tt>....
3820: 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 Returns true
3830: 6f 72 20 66 61 6c 73 65 20 64 65 70 65 6e 64 69 or false dependi
3840: 6e 67 20 6f 6e 20 6d 61 6e 69 66 65 73 74 20 70 ng on manifest p
3850: 65 72 6d 69 73 73 69 6f 6e 20 3c 74 74 3e 3c 69 ermission <tt><i
3860: 3e 6e 61 6d 65 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 >name</i></tt>.
3870: 46 6f 72 20 61 20 64 65 74 61 69 6c 65 64 20 6c For a detailed l
3880: 69 73 74 20 73 65 65 20 74 68 65 20 64 65 73 63 ist see the desc
3890: 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 3c ription of the <
38a0: 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 64 a href="http://d
38b0: 65 76 65 6c 6f 70 65 72 2e 61 6e 64 72 6f 69 64 eveloper.android
38c0: 2e 63 6f 6d 2f 72 65 66 65 72 65 6e 63 65 2f 61 .com/reference/a
38d0: 6e 64 72 6f 69 64 2f 4d 61 6e 69 66 65 73 74 2e ndroid/Manifest.
38e0: 70 65 72 6d 69 73 73 69 6f 6e 2e 68 74 6d 6c 22 permission.html"
38f0: 3e 61 6e 64 72 6f 69 64 2e 4d 61 6e 69 66 65 73 >android.Manifes
3900: 74 2e 70 65 72 6d 69 73 73 69 6f 6e 3c 2f 61 3e t.permission</a>
3910: 20 63 6c 61 73 73 2e 0d 0a 0d 0a 3c 68 34 3e 53 class.....<h4>S
3920: 65 6e 73 6f 72 2d 52 65 6c 61 74 65 64 20 43 6f ensor-Related Co
3930: 6d 6d 61 6e 64 73 3c 2f 68 34 3e 0d 0a 0d 0a 3c mmands</h4>....<
3940: 74 74 3e 62 6f 72 67 20 73 65 6e 73 6f 72 20 6c tt>borg sensor l
3950: 69 73 74 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 ist</tt>....
3960: 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f Returns a list o
3970: 66 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20 f the available
3980: 73 65 6e 73 6f 72 73 20 6f 66 20 74 68 65 20 64 sensors of the d
3990: 65 76 69 63 65 2e 20 45 61 63 68 20 69 74 65 6d evice. Each item
39a0: 20 69 73 20 73 75 69 74 65 64 20 66 6f 72 20 3c is suited for <
39b0: 74 74 3e 61 72 72 61 79 20 73 65 74 3c 2f 74 74 tt>array set</tt
39c0: 3e 20 6f 72 20 3c 74 74 3e 64 69 63 74 20 63 72 > or <tt>dict cr
39d0: 65 61 74 65 3c 2f 74 74 3e 20 61 6e 64 20 63 6f eate</tt> and co
39e0: 6e 74 61 69 6e 73 20 74 68 65 20 66 69 65 6c 64 ntains the field
39f0: 73 20 3c 74 74 3e 69 6e 64 65 78 3c 2f 74 74 3e s <tt>index</tt>
3a00: 20 28 69 6e 74 65 67 65 72 20 69 6e 64 65 78 20 (integer index
3a10: 6f 66 20 74 68 65 20 73 65 6e 73 6f 72 2c 20 75 of the sensor, u
3a20: 73 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 sed to identify
3a30: 69 74 29 2c 20 3c 74 74 3e 74 79 70 65 3c 2f 74 it), <tt>type</t
3a40: 74 3e 20 28 73 65 6e 73 6f 72 20 74 79 70 65 2c t> (sensor type,
3a50: 20 6f 6e 65 20 6f 66 20 3c 74 74 3e 61 63 63 65 one of <tt>acce
3a60: 6c 65 72 6f 6d 65 74 65 72 3c 2f 74 74 3e 2c 20 lerometer</tt>,
3a70: 3c 74 74 3e 74 65 6d 70 65 72 61 74 75 72 65 3c <tt>temperature<
3a80: 2f 74 74 3e 2c 20 3c 74 74 3e 67 61 6d 65 5f 72 /tt>, <tt>game_r
3a90: 6f 74 61 74 69 6f 6e 5f 76 65 63 74 6f 72 3c 2f otation_vector</
3aa0: 74 74 3e 2c 20 3c 74 74 3e 67 65 6f 6d 61 67 6e tt>, <tt>geomagn
3ab0: 65 74 69 63 5f 72 6f 74 61 74 69 6f 6e 5f 76 65 etic_rotation_ve
3ac0: 63 74 6f 72 3c 2f 74 74 3e 2c 20 3c 74 74 3e 67 ctor</tt>, <tt>g
3ad0: 72 61 76 69 74 79 3c 2f 74 74 3e 2c 20 3c 74 74 ravity</tt>, <tt
3ae0: 3e 67 79 72 6f 73 63 6f 70 65 3c 2f 74 74 3e 2c >gyroscope</tt>,
3af0: 20 3c 74 74 3e 67 79 72 6f 73 63 6f 70 65 5f 75 <tt>gyroscope_u
3b00: 6e 63 61 6c 69 62 72 61 74 65 64 3c 2f 74 74 3e ncalibrated</tt>
3b10: 2c 20 3c 74 74 3e 6c 69 67 68 74 3c 2f 74 74 3e , <tt>light</tt>
3b20: 2c 20 3c 74 74 3e 6c 69 6e 65 61 72 5f 61 63 63 , <tt>linear_acc
3b30: 65 6c 65 72 61 74 69 6f 6e 3c 2f 74 74 3e 2c 20 eleration</tt>,
3b40: 3c 74 74 3e 6d 61 67 6e 65 74 69 63 5f 66 69 65 <tt>magnetic_fie
3b50: 6c 64 3c 2f 74 74 3e 2c 20 3c 74 74 3e 6d 61 67 ld</tt>, <tt>mag
3b60: 6e 65 74 69 63 5f 66 69 65 6c 64 5f 75 6e 63 61 netic_field_unca
3b70: 6c 69 62 72 61 74 65 64 3c 2f 74 74 3e 2c 20 3c librated</tt>, <
3b80: 74 74 3e 6f 72 69 65 6e 74 61 74 69 6f 6e 3c 2f tt>orientation</
3b90: 74 74 3e 2c 20 3c 74 74 3e 70 72 65 73 73 75 72 tt>, <tt>pressur
3ba0: 65 3c 2f 74 74 3e 2c 20 3c 74 74 3e 70 72 6f 78 e</tt>, <tt>prox
3bb0: 69 6d 69 74 79 3c 2f 74 74 3e 2c 20 3c 74 74 3e imity</tt>, <tt>
3bc0: 72 65 6c 61 74 69 76 65 5f 68 75 6d 69 64 69 74 relative_humidit
3bd0: 79 3c 2f 74 74 3e 2c 20 3c 74 74 3e 72 6f 74 61 y</tt>, <tt>rota
3be0: 74 69 6f 6e 5f 76 65 63 74 6f 72 3c 2f 74 74 3e tion_vector</tt>
3bf0: 2c 20 3c 74 74 3e 73 74 65 70 5f 63 6f 75 6e 74 , <tt>step_count
3c00: 65 72 3c 2f 74 74 3e 2c 20 61 6e 64 20 3c 74 74 er</tt>, and <tt
3c10: 3e 73 74 65 70 5f 64 65 74 65 63 74 6f 72 3c 2f >step_detector</
3c20: 74 74 3e 29 2c 20 3c 74 74 3e 6d 69 6e 64 65 6c tt>), <tt>mindel
3c30: 61 79 3c 2f 74 74 3e 20 28 6d 69 6e 69 6d 75 6d ay</tt> (minimum
3c40: 20 75 70 64 61 74 65 20 69 6e 74 65 72 76 61 6c update interval
3c50: 20 69 6e 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 in milliseconds
3c60: 29 2c 20 3c 74 74 3e 6d 61 78 72 61 6e 67 65 3c ), <tt>maxrange<
3c70: 2f 74 74 3e 20 28 6d 61 78 69 6d 75 6d 20 72 61 /tt> (maximum ra
3c80: 6e 67 65 2c 20 66 6c 6f 61 74 69 6e 67 20 70 6f nge, floating po
3c90: 69 6e 74 29 2c 20 3c 74 74 3e 72 65 73 6f 6c 75 int), <tt>resolu
3ca0: 74 69 6f 6e 3c 2f 74 74 3e 20 28 66 6c 6f 61 74 tion</tt> (float
3cb0: 69 6e 67 20 70 6f 69 6e 74 29 2c 20 3c 74 74 3e ing point), <tt>
3cc0: 70 6f 77 65 72 3c 2f 74 74 3e 20 28 69 6e 20 6d power</tt> (in m
3cd0: 41 2c 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e A, floating poin
3ce0: 74 29 2c 20 61 6e 64 20 3c 74 74 3e 6e 61 6d 65 t), and <tt>name
3cf0: 3c 2f 74 74 3e 20 28 6e 61 6d 65 20 6f 66 20 74 </tt> (name of t
3d00: 68 65 20 73 65 6e 73 6f 72 29 2e 20 3c 61 20 68 he sensor). <a h
3d10: 72 65 66 3d 22 68 74 74 70 3a 2f 2f 64 65 76 65 ref="http://deve
3d20: 6c 6f 70 65 72 2e 61 6e 64 72 6f 69 64 2e 63 6f loper.android.co
3d30: 6d 2f 72 65 66 65 72 65 6e 63 65 2f 61 6e 64 72 m/reference/andr
3d40: 6f 69 64 2f 68 61 72 64 77 61 72 65 2f 53 65 6e oid/hardware/Sen
3d50: 73 6f 72 2e 68 74 6d 6c 22 3e 4d 6f 72 65 20 69 sor.html">More i
3d60: 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f 61 3e 2e 0d nformation</a>..
3d70: 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 65 6e 73 ...<tt>borg sens
3d80: 6f 72 20 65 6e 61 62 6c 65 7c 64 69 73 61 62 6c or enable|disabl
3d90: 65 7c 73 74 61 74 65 20 3c 69 3e 69 6e 64 65 78 e|state <i>index
3da0: 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 </i></tt>....
3db0: 20 54 75 72 6e 73 20 74 68 65 20 73 65 6e 73 6f Turns the senso
3dc0: 72 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 r identified by
3dd0: 3c 74 74 3e 3c 69 3e 69 6e 64 65 78 3c 2f 69 3e <tt><i>index</i>
3de0: 3c 2f 74 74 3e 20 6f 6e 20 6f 72 20 6f 66 66 2c </tt> on or off,
3df0: 20 6f 72 20 72 65 74 75 72 6e 73 20 69 74 73 20 or returns its
3e00: 73 74 61 74 65 20 28 30 3d 6f 66 66 2c 20 31 3d state (0=off, 1=
3e10: 6f 6e 29 2e 20 41 6e 20 65 6e 61 62 6c 65 64 20 on). An enabled
3e20: 73 65 6e 73 6f 72 20 67 65 6e 65 72 61 74 65 73 sensor generates
3e30: 20 3c 74 74 3e 3c 3c 53 65 6e 73 6f 72 55 70 64 <tt><<SensorUpd
3e40: 61 74 65 3e 3e 3c 2f 74 74 3e 20 76 69 72 74 75 ate>></tt> virtu
3e50: 61 6c 20 65 76 65 6e 74 73 20 77 68 69 63 68 20 al events which
3e60: 61 72 65 20 73 65 6e 74 20 74 6f 20 74 6f 70 6c are sent to topl
3e70: 65 76 65 6c 20 77 69 6e 64 6f 77 73 2e 20 54 68 evel windows. Th
3e80: 65 73 65 20 65 76 65 6e 74 73 20 61 72 65 20 65 ese events are e
3e90: 69 74 68 65 72 20 70 65 72 69 6f 64 69 63 20 75 ither periodic u
3ea0: 70 64 61 74 65 73 20 6f 72 20 63 68 61 6e 67 65 pdates or change
3eb0: 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 73 20 64 notifications d
3ec0: 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 epending on the
3ed0: 6b 69 6e 64 20 6f 66 20 73 65 6e 73 6f 72 20 61 kind of sensor a
3ee0: 6e 64 20 69 74 73 20 72 65 66 72 65 73 68 20 72 nd its refresh r
3ef0: 61 74 65 2e 20 49 66 20 61 20 73 65 6e 73 6f 72 ate. If a sensor
3f00: 20 69 73 20 6e 6f 74 20 72 65 61 64 20 6f 75 74 is not read out
3f10: 20 75 73 69 6e 67 20 3c 74 74 3e 62 6f 72 67 20 using <tt>borg
3f20: 73 65 6e 73 6f 72 20 67 65 74 20 2e 2e 2e 3c 2f sensor get ...</
3f30: 74 74 3e 20 66 6f 72 20 61 20 63 65 72 74 61 69 tt> for a certai
3f40: 6e 20 61 6d 6f 75 6e 74 20 6f 66 20 74 69 6d 65 n amount of time
3f50: 20 74 68 61 74 20 73 65 6e 73 6f 72 20 69 73 20 that sensor is
3f60: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 64 69 automatically di
3f70: 73 61 62 6c 65 64 20 74 6f 20 63 6f 6e 73 65 72 sabled to conser
3f80: 76 65 20 62 61 74 74 65 72 79 20 70 6f 77 65 72 ve battery power
3f90: 2e 20 49 66 20 74 68 65 20 61 70 70 6c 69 63 61 . If the applica
3fa0: 74 69 6f 6e 20 65 6e 74 65 72 73 20 62 61 63 6b tion enters back
3fb0: 67 72 6f 75 6e 64 20 28 73 65 65 20 76 69 72 74 ground (see virt
3fc0: 75 61 6c 20 65 76 65 6e 74 20 3c 74 74 3e 3c 3c ual event <tt><<
3fd0: 57 69 6c 6c 45 6e 74 65 72 42 61 63 6b 67 72 6f WillEnterBackgro
3fe0: 75 6e 64 3e 3e 3c 2f 74 74 3e 29 20 61 6c 6c 20 und>></tt>) all
3ff0: 65 6e 61 62 6c 65 64 20 73 65 6e 73 6f 72 73 20 enabled sensors
4000: 61 72 65 20 64 69 73 61 62 6c 65 64 20 61 6e 64 are disabled and
4010: 20 72 65 2d 65 6e 61 62 6c 65 64 20 61 67 61 69 re-enabled agai
4020: 6e 20 77 68 65 6e 20 74 68 65 20 61 70 70 6c 69 n when the appli
4030: 63 61 74 69 6f 6e 20 63 6f 6d 65 73 20 62 61 63 cation comes bac
4040: 6b 20 74 6f 20 66 6f 72 65 67 72 6f 75 6e 64 20 k to foreground
4050: 28 73 65 65 20 76 69 72 74 75 61 6c 20 65 76 65 (see virtual eve
4060: 6e 74 20 3c 74 74 3e 3c 3c 57 69 6c 6c 45 6e 74 nt <tt><<WillEnt
4070: 65 72 46 6f 72 65 67 72 6f 75 6e 64 3e 3e 3c 2f erForeground>></
4080: 74 74 3e 29 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 tt>).....<tt>bor
4090: 67 20 73 65 6e 73 6f 72 20 67 65 74 20 3c 69 3e g sensor get <i>
40a0: 69 6e 64 65 78 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a index</i></tt>..
40b0: 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 .. Returns th
40c0: 65 20 6c 61 73 74 20 76 61 6c 75 65 20 61 63 71 e last value acq
40d0: 75 69 72 65 64 20 66 72 6f 6d 20 74 68 65 20 73 uired from the s
40e0: 65 6e 73 6f 72 20 69 64 65 6e 74 69 66 69 65 64 ensor identified
40f0: 20 62 79 20 3c 74 74 3e 3c 69 3e 69 6e 64 65 78 by <tt><i>index
4100: 3c 2f 69 3e 3c 2f 74 74 3e 20 61 73 20 61 20 6c </i></tt> as a l
4110: 69 73 74 20 73 75 69 74 65 64 20 66 6f 72 20 3c ist suited for <
4120: 74 74 3e 61 72 72 61 79 20 73 65 74 3c 2f 74 74 tt>array set</tt
4130: 3e 20 6f 72 20 3c 74 74 3e 64 69 63 74 20 63 72 > or <tt>dict cr
4140: 65 61 74 65 3c 2f 74 74 3e 20 63 6f 6e 74 61 69 eate</tt> contai
4150: 6e 69 6e 67 20 74 68 65 20 66 69 65 6c 64 73 20 ning the fields
4160: 3c 74 74 3e 69 6e 64 65 78 3c 2f 74 74 3e 20 28 <tt>index</tt> (
4170: 69 6e 74 65 67 65 72 29 2c 20 3c 74 74 3e 65 6e integer), <tt>en
4180: 61 62 6c 65 64 3c 2f 74 74 3e 20 28 73 65 6e 73 abled</tt> (sens
4190: 6f 72 20 73 74 61 74 65 2c 20 30 20 6f 72 20 31 or state, 0 or 1
41a0: 29 2c 20 3c 74 74 3e 6d 61 78 72 61 6e 67 65 3c ), <tt>maxrange<
41b0: 2f 74 74 3e 20 28 73 65 65 20 61 62 6f 76 65 29 /tt> (see above)
41c0: 2c 20 3c 74 74 3e 72 65 73 6f 6c 75 74 69 6f 6e , <tt>resolution
41d0: 3c 2f 74 74 3e 20 28 73 65 65 20 61 62 6f 76 65 </tt> (see above
41e0: 29 2c 20 3c 74 74 3e 61 63 63 75 72 61 63 79 3c ), <tt>accuracy<
41f0: 2f 74 74 3e 20 28 74 68 65 20 61 63 63 75 72 61 /tt> (the accura
4200: 63 79 20 6f 66 20 74 68 69 73 20 76 61 6c 75 65 cy of this value
4210: 29 2c 20 3c 74 74 3e 76 61 6c 75 65 73 3c 2f 74 ), <tt>values</t
4220: 74 3e 20 28 74 68 65 20 73 65 6e 73 6f 72 20 76 t> (the sensor v
4230: 61 6c 75 65 2c 20 7a 65 72 6f 20 6f 72 20 6d 6f alue, zero or mo
4240: 72 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e re floating poin
4250: 74 20 6e 75 6d 62 65 72 73 29 2e 20 57 68 65 6e t numbers). When
4260: 20 62 6f 74 68 20 3c 74 74 3e 61 63 63 65 6c 65 both <tt>accele
4270: 72 6f 6d 65 74 65 72 3c 2f 74 74 3e 20 61 6e 64 rometer</tt> and
4280: 20 3c 74 74 3e 6d 61 67 6e 65 74 69 63 5f 66 69 <tt>magnetic_fi
4290: 65 6c 64 3c 2f 74 74 3e 20 73 65 6e 73 6f 72 73 eld</tt> sensors
42a0: 20 61 72 65 20 74 75 72 6e 65 64 20 6f 6e 2c 20 are turned on,
42b0: 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 the information
42c0: 66 6f 72 20 74 68 65 20 3c 74 74 3e 6d 61 67 6e for the <tt>magn
42d0: 65 74 69 63 5f 66 69 65 6c 64 3c 2f 74 74 3e 20 etic_field</tt>
42e0: 73 65 6e 73 6f 72 20 68 61 73 20 74 77 6f 20 61 sensor has two a
42f0: 64 64 69 74 69 6f 6e 61 6c 20 65 6e 74 72 69 65 dditional entrie
4300: 73 20 3c 74 74 3e 6f 72 69 65 6e 74 61 74 69 6f s <tt>orientatio
4310: 6e 3c 2f 74 74 3e 20 28 33 20 65 6c 65 6d 65 6e n</tt> (3 elemen
4320: 74 20 6c 69 73 74 20 6f 66 20 61 7a 69 6d 75 74 t list of azimut
4330: 68 2c 20 70 69 74 63 68 2c 20 72 6f 6c 6c 29 20 h, pitch, roll)
4340: 61 6e 64 20 3c 74 74 3e 69 6e 63 6c 69 6e 61 74 and <tt>inclinat
4350: 69 6f 6e 3c 2f 74 74 3e 2e 20 54 68 65 20 3c 74 ion</tt>. The <t
4360: 74 3e 70 72 65 73 73 75 72 65 3c 2f 74 74 3e 20 t>pressure</tt>
4370: 73 65 6e 73 6f 72 20 68 61 73 20 61 6e 20 61 64 sensor has an ad
4380: 64 69 74 69 6f 6e 61 6c 20 65 6e 74 72 79 20 3c ditional entry <
4390: 74 74 3e 61 6c 74 69 74 75 64 65 3c 2f 74 74 3e tt>altitude</tt>
43a0: 20 28 6d 65 74 65 72 73 20 61 62 6f 76 65 20 73 (meters above s
43b0: 65 61 20 6c 65 76 65 6c 29 2e 20 3c 61 20 68 72 ea level). <a hr
43c0: 65 66 3d 22 68 74 74 70 3a 2f 2f 64 65 76 65 6c ef="http://devel
43d0: 6f 70 65 72 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d oper.android.com
43e0: 2f 72 65 66 65 72 65 6e 63 65 2f 61 6e 64 72 6f /reference/andro
43f0: 69 64 2f 68 61 72 64 77 61 72 65 2f 53 65 6e 73 id/hardware/Sens
4400: 6f 72 45 76 65 6e 74 2e 68 74 6d 6c 22 3e 4d 6f orEvent.html">Mo
4410: 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f re information</
4420: 61 3e 2e 0d 0a 0d 0a 3c 68 34 3e 41 6e 64 72 6f a>.....<h4>Andro
4430: 69 64 20 43 6f 6e 74 65 6e 74 20 28 73 68 61 72 id Content (shar
4440: 65 64 20 64 61 74 61 62 61 73 65 73 29 3c 2f 68 ed databases)</h
4450: 34 3e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 63 4>....<tt>borg c
4460: 6f 6e 74 65 6e 74 20 71 75 65 72 79 20 3c 69 3e ontent query <i>
4470: 75 72 69 3c 2f 69 3e 20 3f 3c 69 3e 63 6f 6c 75 uri</i> ?<i>colu
4480: 6d 6e 73 3c 2f 69 3e 20 3f 3c 69 3e 77 68 65 72 mns</i> ?<i>wher
4490: 65 3c 2f 69 3e 20 3f 3c 69 3e 77 68 65 72 65 61 e</i> ?<i>wherea
44a0: 72 67 73 3c 2f 69 3e 20 3f 3c 69 3e 6f 72 64 65 rgs</i> ?<i>orde
44b0: 72 62 79 3c 2f 69 3e 3f 3f 3f 3f 3c 2f 74 74 3e rby</i>????</tt>
44c0: 0d 0a 0d 0a 20 20 20 20 50 65 72 66 6f 72 6d 73 .... Performs
44d0: 20 61 20 71 75 65 72 79 20 6f 6e 20 61 6e 20 41 a query on an A
44e0: 6e 64 72 6f 69 64 20 63 6f 6e 74 65 6e 74 20 70 ndroid content p
44f0: 72 6f 76 69 64 65 72 20 67 69 76 65 6e 20 62 79 rovider given by
4500: 20 3c 74 74 3e 3c 69 3e 75 72 69 3c 2f 69 3e 3c <tt><i>uri</i><
4510: 2f 74 74 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 /tt> and returns
4520: 20 61 20 63 75 72 73 6f 72 20 74 6f 6b 65 6e 20 a cursor token
4530: 28 61 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 77 (a Tcl command w
4540: 68 69 63 68 20 64 65 61 6c 73 20 77 69 74 68 20 hich deals with
4550: 74 68 61 74 20 63 75 72 73 6f 72 29 2e 20 54 68 that cursor). Th
4560: 65 20 6f 70 74 69 6f 6e 61 6c 20 3c 74 74 3e 3c e optional <tt><
4570: 69 3e 63 6f 6c 75 6d 6e 73 3c 2f 69 3e 3c 2f 74 i>columns</i></t
4580: 74 3e 20 61 72 65 20 61 20 6c 69 73 74 20 6f 66 t> are a list of
4590: 20 64 61 74 61 62 61 73 65 20 63 6f 6c 75 6d 6e database column
45a0: 73 20 74 6f 20 61 70 70 65 61 72 20 69 6e 20 74 s to appear in t
45b0: 68 65 20 72 65 73 75 6c 74 20 73 65 74 2c 20 65 he result set, e
45c0: 2e 67 2e 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d .g.....<verbatim
45d0: 3e 0d 0a 20 20 20 20 73 65 74 20 63 75 72 73 6f >.. set curso
45e0: 72 20 5b 62 6f 72 67 20 63 6f 6e 74 65 6e 74 20 r [borg content
45f0: 71 75 65 72 79 20 63 6f 6e 74 65 6e 74 3a 2f 2f query content://
4600: 63 6f 6e 74 61 63 74 73 2f 70 65 6f 70 6c 65 20 contacts/people
4610: 7b 64 69 73 70 6c 61 79 5f 6e 61 6d 65 20 5f 69 {display_name _i
4620: 64 7d 5d 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e d}]..</verbatim>
4630: 0d 0a 0d 0a 20 20 20 20 77 68 65 72 65 20 61 6e .... where an
4640: 20 65 6d 70 74 79 20 6c 69 73 74 20 6f 66 20 64 empty list of d
4650: 61 74 61 62 61 73 65 20 63 6f 6c 75 6d 6e 73 20 atabase columns
4660: 77 6f 72 6b 73 20 6c 69 6b 65 20 74 68 65 20 53 works like the S
4670: 51 4c 20 73 74 61 74 65 6d 65 6e 74 20 22 53 45 QL statement "SE
4680: 4c 45 43 54 20 2a 22 2e 0d 0a 0d 0a 20 20 20 20 LECT *".....
4690: 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 3c 74 74 The optional <tt
46a0: 3e 3c 69 3e 77 68 65 72 65 3c 2f 69 3e 3c 2f 74 ><i>where</i></t
46b0: 74 3e 20 61 6e 64 20 3c 74 74 3e 3c 69 3e 77 68 t> and <tt><i>wh
46c0: 65 72 65 61 72 67 73 3c 2f 69 3e 3c 2f 74 74 3e ereargs</i></tt>
46d0: 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 6d parameters form
46e0: 20 74 68 65 20 53 51 4c 20 57 48 45 52 45 20 63 the SQL WHERE c
46f0: 6c 61 75 73 65 20 6f 66 20 74 68 65 20 71 75 65 lause of the que
4700: 72 79 2e 20 51 75 65 73 74 69 6f 6e 20 6d 61 72 ry. Question mar
4710: 6b 20 70 61 72 61 6d 65 74 65 72 20 6d 61 72 6b k parameter mark
4720: 65 72 73 20 69 6e 20 3c 74 74 3e 3c 69 3e 77 68 ers in <tt><i>wh
4730: 65 72 65 3c 2f 69 3e 3c 2f 74 74 3e 20 61 72 65 ere</i></tt> are
4740: 20 70 6f 73 69 74 69 6f 6e 61 6c 6c 79 20 73 75 positionally su
4750: 62 73 74 69 74 75 74 65 64 20 62 79 20 74 68 65 bstituted by the
4760: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f information fro
4770: 6d 20 74 68 65 20 3c 74 74 3e 3c 69 3e 77 68 65 m the <tt><i>whe
4780: 72 65 61 72 67 73 3c 2f 69 3e 3c 2f 74 74 3e 20 reargs</i></tt>
4790: 6c 69 73 74 2e 20 49 66 20 74 68 65 20 3c 74 74 list. If the <tt
47a0: 3e 3c 69 3e 77 68 65 72 65 3c 2f 69 3e 3c 2f 74 ><i>where</i></t
47b0: 74 3e 20 70 61 72 61 6d 65 74 65 72 20 64 6f 65 t> parameter doe
47c0: 73 20 6e 6f 74 20 75 73 65 20 61 20 71 75 65 73 s not use a ques
47d0: 74 69 6f 6e 20 6d 61 72 6b 20 70 61 72 61 6d 65 tion mark parame
47e0: 74 65 72 20 6d 61 72 6b 65 72 2c 20 61 6e 20 65 ter marker, an e
47f0: 6d 70 74 79 20 70 61 72 61 6d 65 74 65 72 20 73 mpty parameter s
4800: 74 72 69 6e 67 20 69 73 20 6f 62 6c 69 67 61 74 tring is obligat
4810: 6f 72 79 20 61 73 20 69 6e 0d 0a 0d 0a 3c 76 65 ory as in....<ve
4820: 72 62 61 74 69 6d 3e 0d 0a 20 20 20 20 73 65 74 rbatim>.. set
4830: 20 63 75 72 73 6f 72 20 5b 62 6f 72 67 20 63 6f cursor [borg co
4840: 6e 74 65 6e 74 20 71 75 65 72 79 20 63 6f 6e 74 ntent query cont
4850: 65 6e 74 3a 2f 2f 63 6f 6e 74 61 63 74 73 2f 70 ent://contacts/p
4860: 65 6f 70 6c 65 20 7b 7d 20 22 5f 69 64 3d 38 31 eople {} "_id=81
4870: 30 22 20 7b 7d 5d 0d 0a 3c 2f 76 65 72 62 61 74 0" {}]..</verbat
4880: 69 6d 3e 0d 0a 0d 0a 20 20 20 20 77 68 69 63 68 im>.... which
4890: 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 is equivalent t
48a0: 6f 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d o....<verbatim>.
48b0: 0a 20 20 20 20 73 65 74 20 63 75 72 73 6f 72 20 . set cursor
48c0: 5b 62 6f 72 67 20 63 6f 6e 74 65 6e 74 20 71 75 [borg content qu
48d0: 65 72 79 20 63 6f 6e 74 65 6e 74 3a 2f 2f 63 6f ery content://co
48e0: 6e 74 61 63 74 73 2f 70 65 6f 70 6c 65 20 7b 7d ntacts/people {}
48f0: 20 22 5f 69 64 3d 3f 22 20 38 31 30 5d 0d 0a 3c "_id=?" 810]..<
4900: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 20 20 /verbatim>....
4910: 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 3c The optional <
4920: 74 74 3e 3c 69 3e 6f 72 64 65 72 62 79 3c 2f 69 tt><i>orderby</i
4930: 3e 3c 2f 74 74 3e 20 66 6f 72 6d 73 20 74 68 65 ></tt> forms the
4940: 20 53 51 4c 20 4f 52 44 45 52 42 59 20 70 61 72 SQL ORDERBY par
4950: 74 20 6f 66 20 74 68 65 20 71 75 65 72 79 2e 0d t of the query..
4960: 0a 0d 0a 20 20 20 20 48 65 72 65 27 73 20 61 6e ... Here's an
4970: 6f 74 68 65 72 20 65 78 61 6d 70 6c 65 20 64 65 other example de
4980: 6d 6f 6e 73 74 72 61 74 69 6e 67 20 68 6f 77 20 monstrating how
4990: 64 61 74 61 20 69 73 20 72 65 74 72 69 65 76 65 data is retrieve
49a0: 64 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e d:....<verbatim>
49b0: 0d 0a 20 20 20 20 73 65 74 20 63 75 72 73 6f 72 .. set cursor
49c0: 20 5b 62 6f 72 67 20 63 6f 6e 74 65 6e 74 20 71 [borg content q
49d0: 75 65 72 79 20 63 6f 6e 74 65 6e 74 3a 2f 2f 73 uery content://s
49e0: 65 74 74 69 6e 67 73 2f 73 79 73 74 65 6d 5d 0d ettings/system].
49f0: 0a 20 20 20 20 23 20 69 6e 69 74 69 61 6c 6c 79 . # initially
4a00: 2c 20 63 75 72 73 6f 72 20 70 6f 69 6e 74 73 20 , cursor points
4a10: 62 65 66 6f 72 65 20 66 69 72 73 74 20 72 6f 77 before first row
4a20: 0d 0a 20 20 20 20 77 68 69 6c 65 20 7b 5b 24 63 .. while {[$c
4a30: 75 72 73 6f 72 20 6d 6f 76 65 20 31 5d 7d 20 7b ursor move 1]} {
4a40: 0d 0a 20 20 20 20 20 20 20 20 70 75 74 73 20 5b .. puts [
4a50: 24 63 75 72 73 6f 72 20 67 65 74 72 6f 77 5d 0d $cursor getrow].
4a60: 0a 20 20 20 20 7d 0d 0a 3c 2f 76 65 72 62 61 74 . }..</verbat
4a70: 69 6d 3e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 im>....<tt>borg
4a80: 63 6f 6e 74 65 6e 74 20 64 65 6c 65 74 65 20 3c content delete <
4a90: 69 3e 75 72 69 20 73 65 6c 65 63 74 69 6f 6e 3c i>uri selection<
4aa0: 2f 69 3e 20 3f 3c 69 3e 76 61 6c 75 65 20 2e 2e /i> ?<i>value ..
4ab0: 2e 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 .</i>?</tt>....
4ac0: 20 20 20 44 65 6c 65 74 65 73 20 72 6f 77 73 20 Deletes rows
4ad0: 66 72 6f 6d 20 61 6e 20 41 6e 64 72 6f 69 64 20 from an Android
4ae0: 63 6f 6e 74 65 6e 74 20 70 72 6f 76 69 64 65 72 content provider
4af0: 20 67 69 76 65 6e 20 62 79 20 3c 74 74 3e 3c 69 given by <tt><i
4b00: 3e 75 72 69 3c 2f 69 3e 3c 2f 74 74 3e 20 61 6e >uri</i></tt> an
4b10: 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 d returns the nu
4b20: 6d 62 65 72 20 6f 66 20 64 65 6c 65 74 65 64 20 mber of deleted
4b30: 72 6f 77 73 2e 20 3c 74 74 3e 3c 69 3e 73 65 6c rows. <tt><i>sel
4b40: 65 63 74 69 6f 6e 3c 2f 69 3e 3c 2f 74 74 3e 20 ection</i></tt>
4b50: 66 6f 72 6d 73 20 74 68 65 20 53 51 4c 20 57 48 forms the SQL WH
4b60: 45 52 45 20 63 6c 61 75 73 65 20 6f 66 20 74 68 ERE clause of th
4b70: 65 20 64 65 6c 65 74 69 6f 6e 20 77 68 65 72 65 e deletion where
4b80: 20 71 75 65 73 74 69 6f 6e 20 6d 61 72 6b 20 70 question mark p
4b90: 61 72 61 6d 65 74 65 72 20 6d 61 72 6b 65 72 73 arameter markers
4ba0: 20 61 72 65 20 73 75 62 73 74 69 74 75 74 65 64 are substituted
4bb0: 20 62 79 20 3c 74 74 3e 3c 69 3e 76 61 6c 75 65 by <tt><i>value
4bc0: 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 45 78 61 6d 70 </i></tt>. Examp
4bd0: 6c 65 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d le:....<verbatim
4be0: 3e 0d 0a 20 20 20 20 62 6f 72 67 20 63 6f 6e 74 >.. borg cont
4bf0: 65 6e 74 20 64 65 6c 65 74 65 20 63 6f 6e 74 65 ent delete conte
4c00: 6e 74 3a 2f 2f 73 65 74 74 69 6e 67 73 2f 73 79 nt://settings/sy
4c10: 73 74 65 6d 20 6e 61 6d 65 3d 3f 20 6d 79 5f 69 stem name=? my_i
4c20: 74 65 6d 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e tem..</verbatim>
4c30: 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 63 6f 6e ....<tt>borg con
4c40: 74 65 6e 74 20 69 6e 73 65 72 74 20 3c 69 3e 75 tent insert <i>u
4c50: 72 69 20 6b 65 79 20 76 61 6c 75 65 20 2e 2e 2e ri key value ...
4c60: 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 </i></tt>....
4c70: 20 49 6e 73 65 72 74 73 20 61 20 72 6f 77 20 69 Inserts a row i
4c80: 6e 74 6f 20 61 6e 20 41 6e 64 72 6f 69 64 20 63 nto an Android c
4c90: 6f 6e 74 65 6e 74 20 70 72 6f 76 69 64 65 72 20 ontent provider
4ca0: 67 69 76 65 6e 20 62 79 20 3c 74 74 3e 3c 69 3e given by <tt><i>
4cb0: 75 72 69 3c 2f 69 3e 3c 2f 74 74 3e 20 61 6e 64 uri</i></tt> and
4cc0: 20 72 65 74 75 72 6e 73 20 61 6e 6f 74 68 65 72 returns another
4cd0: 20 55 52 49 20 77 68 69 63 68 20 69 64 65 6e 74 URI which ident
4ce0: 69 66 69 65 73 20 74 68 65 20 69 6e 73 65 72 74 ifies the insert
4cf0: 65 64 20 72 6f 77 2e 20 3c 74 74 3e 3c 69 3e 6b ed row. <tt><i>k
4d00: 65 79 3c 2f 69 3e 3c 2f 74 74 3e 20 61 6e 64 20 ey</i></tt> and
4d10: 3c 74 74 3e 3c 69 3e 76 61 6c 75 65 3c 2f 69 3e <tt><i>value</i>
4d20: 3c 2f 74 74 3e 20 61 72 65 20 70 61 69 72 73 20 </tt> are pairs
4d30: 6f 66 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 20 61 of column name a
4d40: 6e 64 20 63 6f 6c 75 6d 6e 20 76 61 6c 75 65 20 nd column value
4d50: 66 6f 72 20 74 68 65 20 53 51 4c 20 49 4e 53 45 for the SQL INSE
4d60: 52 54 20 6f 70 65 72 61 74 69 6f 6e 2e 20 45 78 RT operation. Ex
4d70: 61 6d 70 6c 65 3a 0d 0a 0d 0a 3c 76 65 72 62 61 ample:....<verba
4d80: 74 69 6d 3e 0d 0a 20 20 20 20 62 6f 72 67 20 63 tim>.. borg c
4d90: 6f 6e 74 65 6e 74 20 69 6e 73 65 72 74 20 63 6f ontent insert co
4da0: 6e 74 65 6e 74 3a 2f 2f 73 65 74 74 69 6e 67 73 ntent://settings
4db0: 2f 73 79 73 74 65 6d 20 6e 61 6d 65 20 6d 79 5f /system name my_
4dc0: 69 74 65 6d 20 76 61 6c 75 65 20 22 53 6f 6d 65 item value "Some
4dd0: 20 76 61 6c 75 65 22 0d 0a 20 20 20 20 2d 3e 20 value".. ->
4de0: 63 6f 6e 74 65 6e 74 3a 2f 2f 73 65 74 74 69 6e content://settin
4df0: 67 73 2f 73 79 73 74 65 6d 2f 34 37 31 31 0d 0a gs/system/4711..
4e00: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 3c </verbatim>....<
4e10: 74 74 3e 62 6f 72 67 20 63 6f 6e 74 65 6e 74 20 tt>borg content
4e20: 75 70 64 61 74 65 20 3c 69 3e 75 72 69 20 76 61 update <i>uri va
4e30: 6c 75 65 73 3c 2f 69 3e 20 3f 3c 69 3e 73 65 6c lues</i> ?<i>sel
4e40: 65 63 74 69 6f 6e 3c 2f 69 3e 20 3f 3c 69 3e 61 ection</i> ?<i>a
4e50: 72 67 73 3c 2f 69 3e 3f 3f 3c 2f 74 74 3e 0d 0a rgs</i>??</tt>..
4e60: 0d 0a 20 20 20 20 55 70 64 61 74 65 73 20 7a 65 .. Updates ze
4e70: 72 6f 20 6f 72 20 6d 6f 72 65 20 72 6f 77 73 20 ro or more rows
4e80: 6f 66 20 61 6e 20 41 6e 64 72 6f 69 64 20 63 6f of an Android co
4e90: 6e 74 65 6e 74 20 70 72 6f 76 69 64 65 72 20 67 ntent provider g
4ea0: 69 76 65 6e 20 62 79 20 3c 74 74 3e 3c 69 3e 75 iven by <tt><i>u
4eb0: 72 69 3c 2f 69 3e 3c 2f 74 74 3e 20 61 6e 64 20 ri</i></tt> and
4ec0: 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 returns the numb
4ed0: 65 72 20 6f 66 20 75 70 64 61 74 65 64 20 72 6f er of updated ro
4ee0: 77 73 2e 20 3c 74 74 3e 3c 69 3e 76 61 6c 75 65 ws. <tt><i>value
4ef0: 73 3c 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 61 20 s</i></tt> is a
4f00: 6c 69 73 74 20 6d 61 64 65 20 75 70 20 6f 66 20 list made up of
4f10: 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 63 6f a sequence of co
4f20: 6c 75 6d 6e 20 6e 61 6d 65 73 20 61 6e 64 20 63 lumn names and c
4f30: 6f 6c 75 6d 6e 20 76 61 6c 75 65 73 2e 20 3c 74 olumn values. <t
4f40: 74 3e 3c 69 3e 73 65 6c 65 63 74 69 6f 6e 3c 2f t><i>selection</
4f50: 69 3e 3c 2f 74 74 3e 20 69 73 20 74 68 65 20 6f i></tt> is the o
4f60: 70 74 69 6f 6e 61 6c 20 53 51 4c 20 57 48 45 52 ptional SQL WHER
4f70: 45 20 63 6c 61 75 73 65 20 77 69 74 68 20 71 75 E clause with qu
4f80: 65 73 74 69 6f 6e 20 6d 61 72 6b 20 70 61 72 61 estion mark para
4f90: 6d 65 74 65 72 20 6d 61 72 6b 65 72 73 2e 20 54 meter markers. T
4fa0: 68 65 20 70 61 72 61 6d 65 74 65 72 20 6d 61 72 he parameter mar
4fb0: 6b 65 72 73 20 61 72 65 20 73 75 62 73 74 69 74 kers are substit
4fc0: 75 74 65 64 20 62 79 20 74 68 65 20 76 61 6c 75 uted by the valu
4fd0: 65 73 20 66 72 6f 6d 20 3c 74 74 3e 3c 69 3e 61 es from <tt><i>a
4fe0: 72 67 73 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 45 78 rgs</i></tt>. Ex
4ff0: 61 6d 70 6c 65 3a 0d 0a 0d 0a 3c 76 65 72 62 61 ample:....<verba
5000: 74 69 6d 3e 0d 0a 20 20 20 20 23 20 73 79 73 74 tim>.. # syst
5010: 65 6d 20 73 65 74 74 69 6e 67 73 20 77 61 6e 74 em settings want
5020: 73 20 74 68 65 20 6e 61 6d 65 20 69 6e 20 74 68 s the name in th
5030: 65 20 55 52 49 0d 0a 20 20 20 20 62 6f 72 67 20 e URI.. borg
5040: 63 6f 6e 74 65 6e 74 20 75 70 64 61 74 65 20 63 content update c
5050: 6f 6e 74 65 6e 74 3a 2f 2f 73 65 74 74 69 6e 67 ontent://setting
5060: 73 2f 73 79 73 74 65 6d 2f 6d 79 5f 69 74 65 6d s/system/my_item
5070: 20 7b 76 61 6c 75 65 20 7b 4e 65 77 20 56 61 6c {value {New Val
5080: 75 65 7d 7d 0d 0a 3c 2f 76 65 72 62 61 74 69 6d ue}}..</verbatim
5090: 3e 0d 0a 0d 0a 3c 68 34 3e 43 75 72 73 6f 72 73 >....<h4>Cursors
50a0: 20 66 72 6f 6d 20 41 6e 64 72 6f 69 64 20 43 6f from Android Co
50b0: 6e 74 65 6e 74 20 71 75 65 72 69 65 73 3c 2f 68 ntent queries</h
50c0: 34 3e 0d 0a 0d 0a 57 68 65 6e 20 61 20 3c 74 74 4>....When a <tt
50d0: 3e 62 6f 72 67 20 63 6f 6e 74 65 6e 74 3c 2f 74 >borg content</t
50e0: 74 3e 20 71 75 65 72 79 20 72 65 74 75 72 6e 65 t> query returne
50f0: 64 20 61 20 63 75 72 73 6f 72 20 74 6f 6b 65 6e d a cursor token
5100: 2c 20 74 68 69 73 20 74 6f 6b 65 6e 20 69 73 20 , this token is
5110: 61 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 74 6f a Tcl command to
5120: 20 64 65 61 6c 20 77 69 74 68 20 74 68 65 20 71 deal with the q
5130: 75 65 72 79 27 73 20 72 65 73 75 6c 74 20 73 65 uery's result se
5140: 74 3a 0d 0a 0d 0a 3c 74 74 3e 24 63 75 72 73 6f t:....<tt>$curso
5150: 72 20 63 6c 6f 73 65 3c 2f 74 74 3e 0d 0a 0d 0a r close</tt>....
5160: 20 20 20 20 46 69 6e 69 73 68 65 73 20 74 68 65 Finishes the
5170: 20 71 75 65 72 79 20 61 6e 64 20 64 65 6c 65 74 query and delet
5180: 65 73 20 74 68 65 20 54 63 6c 20 63 6f 6d 6d 61 es the Tcl comma
5190: 6e 64 2e 0d 0a 0d 0a 3c 74 74 3e 24 63 75 72 73 nd.....<tt>$curs
51a0: 6f 72 20 63 6f 6c 75 6d 6e 6e 61 6d 65 73 3c 2f or columnnames</
51b0: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 tt>.... Retur
51c0: 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6c ns a list of col
51d0: 75 6d 6e 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 umn names of the
51e0: 20 72 65 73 75 6c 74 20 73 65 74 2e 0d 0a 0d 0a result set.....
51f0: 3c 74 74 3e 24 63 75 72 73 6f 72 20 63 6f 75 6e <tt>$cursor coun
5200: 74 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 t</tt>.... Re
5210: 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 turns the number
5220: 20 6f 66 20 72 6f 77 73 20 6f 66 20 74 68 65 20 of rows of the
5230: 72 65 73 75 6c 74 20 73 65 74 2e 0d 0a 0d 0a 3c result set.....<
5240: 74 74 3e 24 63 75 72 73 6f 72 20 67 65 74 62 6c tt>$cursor getbl
5250: 6f 62 20 3c 69 3e 69 6e 64 65 78 3c 2f 69 3e 3c ob <i>index</i><
5260: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 /tt>.... Retu
5270: 72 6e 73 20 74 68 65 20 3c 74 74 3e 3c 69 3e 69 rns the <tt><i>i
5280: 6e 64 65 78 3c 2f 69 3e 3c 2f 74 74 3e 74 68 20 ndex</i></tt>th
5290: 63 6f 6c 75 6d 6e 20 28 7a 65 72 6f 2d 62 61 73 column (zero-bas
52a0: 65 64 29 20 6f 66 20 74 68 65 20 63 75 72 72 65 ed) of the curre
52b0: 6e 74 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 nt row of the re
52c0: 73 75 6c 74 20 73 65 74 20 61 73 20 61 20 62 61 sult set as a ba
52d0: 73 65 36 34 20 65 6e 63 6f 64 65 64 20 73 74 72 se64 encoded str
52e0: 69 6e 67 2e 0d 0a 0d 0a 3c 74 74 3e 24 63 75 72 ing.....<tt>$cur
52f0: 73 6f 72 20 67 65 74 64 6f 75 62 6c 65 20 3c 69 sor getdouble <i
5300: 3e 69 6e 64 65 78 3c 2f 69 3e 3c 2f 74 74 3e 0d >index</i></tt>.
5310: 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 ... Returns t
5320: 68 65 20 3c 74 74 3e 3c 69 3e 69 6e 64 65 78 3c he <tt><i>index<
5330: 2f 69 3e 3c 2f 74 74 3e 74 68 20 63 6f 6c 75 6d /i></tt>th colum
5340: 6e 20 28 7a 65 72 6f 2d 62 61 73 65 64 29 20 6f n (zero-based) o
5350: 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 6f f the current ro
5360: 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 w of the result
5370: 73 65 74 20 61 73 20 61 20 66 6c 6f 61 74 69 6e set as a floatin
5380: 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0d g point number..
5390: 0a 0d 0a 3c 74 74 3e 24 63 75 72 73 6f 72 20 67 ...<tt>$cursor g
53a0: 65 74 69 6e 74 20 3c 69 3e 69 6e 64 65 78 3c 2f etint <i>index</
53b0: 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 i></tt>.... R
53c0: 65 74 75 72 6e 73 20 74 68 65 20 3c 74 74 3e 3c eturns the <tt><
53d0: 69 3e 69 6e 64 65 78 3c 2f 69 3e 3c 2f 74 74 3e i>index</i></tt>
53e0: 74 68 20 63 6f 6c 75 6d 6e 20 28 7a 65 72 6f 2d th column (zero-
53f0: 62 61 73 65 64 29 20 6f 66 20 74 68 65 20 63 75 based) of the cu
5400: 72 72 65 6e 74 20 72 6f 77 20 6f 66 20 74 68 65 rrent row of the
5410: 20 72 65 73 75 6c 74 20 73 65 74 20 61 73 20 61 result set as a
5420: 20 69 6e 74 65 67 65 72 20 6e 75 6d 62 65 72 2e integer number.
5430: 0d 0a 0d 0a 3c 74 74 3e 24 63 75 72 73 6f 72 20 ....<tt>$cursor
5440: 67 65 74 70 6f 73 3c 2f 74 74 3e 0d 0a 0d 0a 20 getpos</tt>....
5450: 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 Returns the i
5460: 6e 64 65 78 20 6f 66 20 74 68 65 20 63 75 72 72 ndex of the curr
5470: 65 6e 74 20 72 6f 77 20 28 7a 65 72 6f 2d 62 61 ent row (zero-ba
5480: 73 65 64 29 2e 0d 0a 0d 0a 3c 74 74 3e 24 63 75 sed).....<tt>$cu
5490: 72 73 6f 72 20 67 65 74 72 6f 77 3c 2f 74 74 3e rsor getrow</tt>
54a0: 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 .... Returns
54b0: 74 68 65 20 63 75 72 72 65 6e 74 20 72 6f 77 20 the current row
54c0: 61 73 20 61 20 54 63 6c 20 6c 69 73 74 20 6d 61 as a Tcl list ma
54d0: 64 65 20 75 70 20 6f 66 20 63 6f 6c 75 6d 6e 20 de up of column
54e0: 6e 61 6d 65 73 20 61 6e 64 20 76 61 6c 75 65 73 names and values
54f0: 2c 20 6c 69 6b 65 20 3c 74 74 3e 7b 6e 61 6d 65 , like <tt>{name
5500: 31 20 76 61 6c 75 65 31 20 6e 61 6d 65 32 20 76 1 value1 name2 v
5510: 61 6c 75 65 32 7d 3c 2f 74 74 3e 20 69 6e 20 74 alue2}</tt> in t
5520: 68 65 20 6f 72 64 65 72 20 73 70 65 63 69 66 69 he order specifi
5530: 65 64 20 62 79 20 74 68 65 20 63 75 72 73 6f 72 ed by the cursor
5540: 27 73 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 20 's constructor.
5550: 42 6c 6f 62 73 20 66 72 6f 6d 20 74 68 65 20 72 Blobs from the r
5560: 65 73 75 6c 74 20 73 65 74 20 61 72 65 20 63 6f esult set are co
5570: 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 62 61 73 nverted into bas
5580: 65 36 34 20 65 6e 63 6f 64 65 64 20 73 74 72 69 e64 encoded stri
5590: 6e 67 73 2e 0d 0a 0d 0a 3c 74 74 3e 24 63 75 72 ngs.....<tt>$cur
55a0: 73 6f 72 20 67 65 74 73 74 72 69 6e 67 20 3c 69 sor getstring <i
55b0: 3e 69 6e 64 65 78 3c 2f 69 3e 3c 2f 74 74 3e 0d >index</i></tt>.
55c0: 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 ... Returns t
55d0: 68 65 20 3c 74 74 3e 3c 69 3e 69 6e 64 65 78 3c he <tt><i>index<
55e0: 2f 69 3e 3c 2f 74 74 3e 74 68 20 63 6f 6c 75 6d /i></tt>th colum
55f0: 6e 20 28 7a 65 72 6f 2d 62 61 73 65 64 29 20 6f n (zero-based) o
5600: 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 6f f the current ro
5610: 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 w of the result
5620: 73 65 74 20 61 73 20 61 20 73 74 72 69 6e 67 2e set as a string.
5630: 0d 0a 0d 0a 3c 74 74 3e 24 63 75 72 73 6f 72 20 ....<tt>$cursor
5640: 69 73 6e 75 6c 6c 20 3c 69 3e 69 6e 64 65 78 3c isnull <i>index<
5650: 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 /i></tt>....
5660: 52 65 74 75 72 6e 73 20 74 72 75 65 20 77 68 65 Returns true whe
5670: 6e 20 74 68 65 20 3c 74 74 3e 3c 69 3e 69 6e 64 n the <tt><i>ind
5680: 65 78 3c 2f 69 3e 3c 2f 74 74 3e 74 68 20 63 6f ex</i></tt>th co
5690: 6c 75 6d 6e 20 28 7a 65 72 6f 2d 62 61 73 65 64 lumn (zero-based
56a0: 29 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 ) of the current
56b0: 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 row of the resu
56c0: 6c 74 20 73 65 74 20 69 73 20 61 6e 20 53 51 4c lt set is an SQL
56d0: 20 4e 55 4c 4c 20 76 61 6c 75 65 2e 0d 0a 0d 0a NULL value.....
56e0: 3c 74 74 3e 24 63 75 72 73 6f 72 20 6d 6f 76 65 <tt>$cursor move
56f0: 20 3c 69 3e 70 6f 73 3c 2f 69 3e 3c 2f 74 74 3e <i>pos</i></tt>
5700: 0d 0a 0d 0a 20 20 20 20 52 65 6c 61 74 69 76 65 .... Relative
5710: 20 6d 6f 76 65 20 6f 66 20 74 68 65 20 63 75 72 move of the cur
5720: 72 65 6e 74 20 72 6f 77 20 69 6e 64 65 78 2e 20 rent row index.
5730: 4e 65 67 61 74 69 76 65 20 3c 69 3e 70 6f 73 3c Negative <i>pos<
5740: 2f 69 3e 20 67 6f 65 73 20 62 61 63 6b 77 61 72 /i> goes backwar
5750: 64 2e 0d 0a 0d 0a 3c 74 74 3e 24 63 75 72 73 6f d.....<tt>$curso
5760: 72 20 6d 6f 76 65 74 6f 20 3c 69 3e 70 6f 73 3c r moveto <i>pos<
5770: 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 /i></tt>....
5780: 41 62 73 6f 6c 75 74 65 20 6d 6f 76 65 20 6f 66 Absolute move of
5790: 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 6f 77 the current row
57a0: 20 69 6e 64 65 78 2e 0d 0a 0d 0a 3c 68 34 3e 53 index.....<h4>S
57b0: 70 65 65 63 68 20 52 65 63 6f 67 6e 69 74 69 6f peech Recognitio
57c0: 6e 3c 2f 68 34 3e 0d 0a 0d 0a 3c 74 74 3e 62 6f n</h4>....<tt>bo
57d0: 72 67 20 73 70 65 65 63 68 72 65 63 6f 67 6e 69 rg speechrecogni
57e0: 74 69 6f 6e 20 69 6e 74 65 6e 74 20 3c 69 3e 61 tion intent <i>a
57f0: 72 67 73 20 63 6d 64 3c 2f 69 3e 3c 2f 74 74 3e rgs cmd</i></tt>
5800: 0d 0a 0d 0a 20 20 20 20 55 73 65 20 74 68 65 20 .... Use the
5810: 73 70 65 65 63 68 20 72 65 63 6f 67 6e 69 74 69 speech recogniti
5820: 6f 6e 20 73 65 72 76 69 63 65 2e 20 3c 74 74 3e on service. <tt>
5830: 3c 69 3e 61 72 67 73 3c 2f 69 3e 3c 2f 74 74 3e <i>args</i></tt>
5840: 20 69 73 20 61 20 70 61 72 61 6d 65 74 65 72 20 is a parameter
5850: 6c 69 73 74 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 list to control
5860: 74 68 65 20 73 70 65 65 63 68 20 72 65 63 6f 67 the speech recog
5870: 6e 69 74 69 6f 6e 20 28 3c 61 20 68 72 65 66 3d nition (<a href=
5880: 22 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 "http://develope
5890: 72 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 72 65 r.android.com/re
58a0: 66 65 72 65 6e 63 65 2f 61 6e 64 72 6f 69 64 2f ference/android/
58b0: 73 70 65 65 63 68 2f 52 65 63 6f 67 6e 69 7a 65 speech/Recognize
58c0: 72 49 6e 74 65 6e 74 2e 68 74 6d 6c 22 3e 6d 6f rIntent.html">mo
58d0: 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f re information</
58e0: 61 3e 29 2e 20 3c 74 74 3e 3c 69 3e 63 6d 64 3c a>). <tt><i>cmd<
58f0: 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 69 6e 76 6f /i></tt> is invo
5900: 6b 65 64 20 77 68 65 6e 20 74 68 65 20 73 70 65 ked when the spe
5910: 65 63 68 20 72 65 63 6f 67 6e 69 74 69 6f 6e 20 ech recognition
5920: 69 73 20 63 6f 6d 70 6c 65 74 65 2e 20 54 68 61 is complete. Tha
5930: 74 20 70 72 6f 63 65 64 75 72 65 20 72 65 63 65 t procedure rece
5940: 69 76 65 73 20 74 68 65 20 70 61 72 61 6d 65 74 ives the paramet
5950: 65 72 73 20 3c 74 74 3e 72 65 74 63 6f 64 65 3c ers <tt>retcode<
5960: 2f 74 74 3e 20 61 6e 64 20 3c 74 74 3e 64 61 74 /tt> and <tt>dat
5970: 61 3c 2f 74 74 3e 20 61 73 20 69 6e 20 74 68 65 a</tt> as in the
5980: 20 63 61 6c 6c 62 61 63 6b 20 66 6f 72 20 3c 74 callback for <t
5990: 74 3e 62 6f 72 67 20 61 63 74 69 76 69 74 79 3c t>borg activity<
59a0: 2f 74 74 3e 2e 20 3c 74 74 3e 64 61 74 61 3c 2f /tt>. <tt>data</
59b0: 74 74 3e 20 69 73 20 61 20 6c 69 73 74 20 6f 66 tt> is a list of
59c0: 20 6b 65 79 20 76 61 6c 75 65 20 70 61 69 72 73 key value pairs
59d0: 20 73 75 69 74 65 64 20 66 6f 72 20 3c 74 74 3e suited for <tt>
59e0: 61 72 72 61 79 20 73 65 74 3c 2f 74 74 3e 20 6f array set</tt> o
59f0: 72 20 3c 74 74 3e 64 69 63 74 20 63 72 65 61 74 r <tt>dict creat
5a00: 65 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 e</tt>.....<tt>b
5a10: 6f 72 67 20 73 70 65 65 63 68 72 65 63 6f 67 6e org speechrecogn
5a20: 69 74 69 6f 6e 20 63 61 6c 6c 62 61 63 6b 20 3c ition callback <
5a30: 69 3e 63 6d 64 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a i>cmd</i></tt>..
5a40: 0d 0a 20 20 20 20 45 73 74 61 62 6c 69 73 68 65 .. Establishe
5a50: 73 20 3c 74 74 3e 3c 69 3e 63 6d 64 3c 2f 69 3e s <tt><i>cmd</i>
5a60: 3c 2f 74 74 3e 20 61 73 20 67 6c 6f 62 61 6c 20 </tt> as global
5a70: 63 61 6c 6c 62 61 63 6b 20 70 72 6f 63 65 64 75 callback procedu
5a80: 72 65 20 72 65 63 65 69 76 69 6e 67 20 73 70 65 re receiving spe
5a90: 65 63 68 20 72 65 63 6f 67 6e 69 74 69 6f 6e 20 ech recognition
5aa0: 65 76 65 6e 74 73 20 61 73 20 64 65 73 63 72 69 events as descri
5ab0: 62 65 64 20 62 79 20 74 68 65 20 52 65 63 6f 67 bed by the Recog
5ac0: 6e 69 74 69 6f 6e 4c 69 73 74 65 6e 65 72 20 69 nitionListener i
5ad0: 6e 74 65 72 66 61 63 65 20 28 3c 61 20 68 72 65 nterface (<a hre
5ae0: 66 3d 22 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f f="http://develo
5af0: 70 65 72 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f per.android.com/
5b00: 72 65 66 65 72 65 6e 63 65 2f 61 6e 64 72 6f 69 reference/androi
5b10: 64 2f 73 70 65 65 63 68 2f 52 65 63 6f 67 6e 69 d/speech/Recogni
5b20: 74 69 6f 6e 4c 69 73 74 65 6e 65 72 2e 68 74 6d tionListener.htm
5b30: 6c 22 3e 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 l">more informat
5b40: 69 6f 6e 3c 2f 61 3e 29 2e 20 54 68 61 74 20 70 ion</a>). That p
5b50: 72 6f 63 65 64 75 72 65 20 72 65 63 65 69 76 65 rocedure receive
5b60: 73 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 s the parameters
5b70: 20 3c 74 74 3e 72 65 74 63 6f 64 65 3c 2f 74 74 <tt>retcode</tt
5b80: 3e 20 61 6e 64 20 3c 74 74 3e 64 61 74 61 3c 2f > and <tt>data</
5b90: 74 74 3e 20 61 73 20 69 6e 20 74 68 65 20 63 61 tt> as in the ca
5ba0: 6c 6c 62 61 63 6b 20 66 6f 72 20 3c 74 74 3e 62 llback for <tt>b
5bb0: 6f 72 67 20 61 63 74 69 76 69 74 79 3c 2f 74 74 org activity</tt
5bc0: 3e 2e 20 3c 74 74 3e 64 61 74 61 3c 2f 74 74 3e >. <tt>data</tt>
5bd0: 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6b 65 is a list of ke
5be0: 79 20 76 61 6c 75 65 20 70 61 69 72 73 20 73 75 y value pairs su
5bf0: 69 74 65 64 20 66 6f 72 20 3c 74 74 3e 61 72 72 ited for <tt>arr
5c00: 61 79 20 73 65 74 3c 2f 74 74 3e 20 6f 72 20 3c ay set</tt> or <
5c10: 74 74 3e 64 69 63 74 20 63 72 65 61 74 65 3c 2f tt>dict create</
5c20: 74 74 3e 2e 20 54 68 65 72 65 20 61 72 65 20 75 tt>. There are u
5c30: 70 20 74 6f 20 74 77 6f 20 73 70 65 63 69 61 6c p to two special
5c40: 20 6b 65 79 73 20 70 72 65 73 65 6e 74 20 69 6e keys present in
5c50: 20 64 61 74 61 3a 20 3c 74 74 3e 74 79 70 65 3c data: <tt>type<
5c60: 2f 74 74 3e 20 67 69 76 69 6e 67 20 74 68 65 20 /tt> giving the
5c70: 65 76 65 6e 74 20 74 79 70 65 20 28 6f 6e 65 20 event type (one
5c80: 6f 66 20 3c 74 74 3e 72 65 73 75 6c 74 3c 2f 74 of <tt>result</t
5c90: 74 3e 2c 20 3c 74 74 3e 70 61 72 74 69 61 6c 72 t>, <tt>partialr
5ca0: 65 73 75 6c 74 3c 2f 74 74 3e 2c 20 3c 74 74 3e esult</tt>, <tt>
5cb0: 72 65 61 64 79 3c 2f 74 74 3e 2c 20 3c 74 74 3e ready</tt>, <tt>
5cc0: 65 76 65 6e 74 3c 2f 74 74 3e 2e 20 3c 74 74 3e event</tt>. <tt>
5cd0: 72 6d 73 3c 2f 74 74 3e 2c 20 3c 74 74 3e 65 6e rms</tt>, <tt>en
5ce0: 64 3c 2f 74 74 3e 2c 20 3c 74 74 3e 62 65 67 69 d</tt>, <tt>begi
5cf0: 6e 3c 2f 74 74 3e 29 20 61 6e 64 20 3c 74 74 3e n</tt>) and <tt>
5d00: 76 61 6c 75 65 3c 2f 74 74 3e 20 67 69 76 69 6e value</tt> givin
5d10: 67 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 73 g numeric values
5d20: 20 66 6f 72 20 63 65 72 74 61 69 6e 20 65 76 65 for certain eve
5d30: 6e 74 20 74 79 70 65 73 20 28 65 72 72 6f 72 20 nt types (error
5d40: 63 6f 64 65 20 66 6f 72 20 3c 74 74 3e 65 72 72 code for <tt>err
5d50: 6f 72 3c 2f 74 74 3e 2c 20 61 75 64 69 6f 20 6c or</tt>, audio l
5d60: 65 76 65 6c 20 66 6f 72 20 3c 74 74 3e 72 6d 73 evel for <tt>rms
5d70: 3c 2f 74 74 3e 29 2e 0d 0a 0d 0a 3c 74 74 3e 62 </tt>).....<tt>b
5d80: 6f 72 67 20 73 70 65 65 63 68 72 65 63 6f 67 6e org speechrecogn
5d90: 69 74 69 6f 6e 20 73 74 61 72 74 20 3c 69 3e 61 ition start <i>a
5da0: 72 67 73 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a rgs</i></tt>....
5db0: 20 20 20 20 53 74 61 72 74 73 20 74 68 65 20 73 Starts the s
5dc0: 70 65 65 63 68 20 72 65 63 6f 67 6e 69 74 69 6f peech recognitio
5dd0: 6e 2e 20 46 6f 72 20 3c 74 74 3e 3c 69 3e 61 72 n. For <tt><i>ar
5de0: 67 73 3c 2f 69 3e 3c 2f 74 74 3e 20 73 65 65 20 gs</i></tt> see
5df0: 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 the description
5e00: 69 6e 20 3c 74 74 3e 62 6f 72 67 20 73 70 65 65 in <tt>borg spee
5e10: 63 68 72 65 63 6f 67 6e 69 74 69 6f 6e 20 69 6e chrecognition in
5e20: 74 65 6e 74 20 2e 2e 2e 2e 3c 2f 74 74 3e 2e 0d tent ....</tt>..
5e30: 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 70 65 65 ...<tt>borg spee
5e40: 63 68 72 65 63 6f 67 6e 69 74 69 6f 6e 20 63 61 chrecognition ca
5e50: 6e 63 65 6c 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 ncel</tt>....
5e60: 20 49 6d 6d 65 64 69 61 74 65 6c 79 20 63 61 6e Immediately can
5e70: 63 65 6c 73 20 74 68 65 20 73 70 65 65 63 68 20 cels the speech
5e80: 72 65 63 6f 67 6e 69 74 69 6f 6e 2e 20 4e 6f 20 recognition. No
5e90: 66 75 72 74 68 65 72 20 65 76 65 6e 74 73 20 61 further events a
5ea0: 72 65 20 72 65 70 6f 72 74 65 64 20 74 68 72 6f re reported thro
5eb0: 75 67 68 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 ugh the global c
5ec0: 61 6c 6c 62 61 63 6b 20 70 72 6f 63 65 64 75 72 allback procedur
5ed0: 65 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 e.....<tt>borg s
5ee0: 70 65 65 63 68 72 65 63 6f 67 6e 69 74 69 6f 6e peechrecognition
5ef0: 20 73 74 6f 70 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 stop</tt>....
5f00: 20 20 53 74 6f 70 73 20 74 68 65 20 73 70 65 65 Stops the spee
5f10: 63 68 20 72 65 63 6f 67 6e 69 74 69 6f 6e 2e 20 ch recognition.
5f20: 45 76 65 6e 74 73 20 63 61 6e 20 62 65 20 73 74 Events can be st
5f30: 69 6c 6c 20 72 65 70 6f 72 74 65 64 20 74 68 72 ill reported thr
5f40: 6f 75 67 68 20 74 68 65 20 67 6c 6f 62 61 6c 20 ough the global
5f50: 63 61 6c 6c 62 61 63 6b 20 70 72 6f 63 65 64 75 callback procedu
5f60: 72 65 2e 0d 0a 0d 0a 3c 68 34 3e 54 65 6c 65 70 re.....<h4>Telep
5f70: 68 6f 6e 65 2d 52 65 6c 61 74 65 64 20 43 6f 6d hone-Related Com
5f80: 6d 61 6e 64 73 3c 2f 68 34 3e 0d 0a 0d 0a 3c 74 mands</h4>....<t
5f90: 74 3e 62 6f 72 67 20 70 68 6f 6e 65 69 6e 66 6f t>borg phoneinfo
5fa0: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 </tt>.... Ret
5fb0: 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e urns information
5fc0: 20 61 62 6f 75 74 20 74 68 65 20 63 75 72 72 65 about the curre
5fd0: 6e 74 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 nt state of the
5fe0: 74 65 6c 65 70 68 6f 6e 65 20 61 73 20 61 20 6c telephone as a l
5ff0: 69 73 74 20 73 75 69 74 65 64 20 66 6f 72 20 3c ist suited for <
6000: 74 74 3e 61 72 72 61 79 20 73 65 74 3c 2f 74 74 tt>array set</tt
6010: 3e 20 6f 72 20 3c 74 74 3e 64 69 63 74 20 63 72 > or <tt>dict cr
6020: 65 61 74 65 3c 2f 74 74 3e 2e 20 54 68 69 73 20 eate</tt>. This
6030: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 6f information is o
6040: 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 77 68 nly available wh
6050: 65 6e 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 en the applicati
6060: 6f 6e 20 6d 61 6e 69 66 65 73 74 20 68 61 73 20 on manifest has
6070: 74 68 65 20 3c 74 74 3e 61 6e 64 72 6f 69 64 2e the <tt>android.
6080: 70 65 72 6d 69 73 73 69 6f 6e 2e 52 45 41 44 5f permission.READ_
6090: 50 48 4f 4e 45 5f 53 54 41 54 45 3c 2f 74 74 3e PHONE_STATE</tt>
60a0: 20 70 65 72 6d 69 73 73 69 6f 6e 20 28 77 68 69 permission (whi
60b0: 63 68 20 69 73 20 6c 65 66 74 20 6f 75 74 20 69 ch is left out i
60c0: 6e 20 63 75 72 72 65 6e 74 20 5b 41 6e 64 72 6f n current [Andro
60d0: 57 69 73 68 5d 20 72 65 6c 65 61 73 65 73 29 2e Wish] releases).
60e0: 20 46 6f 72 20 66 75 72 74 68 65 72 20 69 6e 66 For further inf
60f0: 6f 72 6d 61 74 69 6f 6e 20 73 65 65 20 74 68 65 ormation see the
6100: 20 41 6e 64 72 6f 69 64 20 64 6f 63 75 6d 65 6e Android documen
6110: 74 61 74 69 6f 6e 20 6f 6e 20 74 68 65 20 63 6c tation on the cl
6120: 61 73 73 65 73 0d 0a 3c 61 20 68 72 65 66 3d 22 asses..<a href="
6130: 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 http://developer
6140: 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 72 65 66 .android.com/ref
6150: 65 72 65 6e 63 65 2f 61 6e 64 72 6f 69 64 2f 74 erence/android/t
6160: 65 6c 65 70 68 6f 6e 79 2f 54 65 6c 65 70 68 6f elephony/Telepho
6170: 6e 79 4d 61 6e 61 67 65 72 2e 68 74 6d 6c 22 3e nyManager.html">
6180: 54 65 6c 65 70 68 6f 6e 79 4d 61 6e 61 67 65 72 TelephonyManager
6190: 3c 2f 61 3e 2c 0d 0a 3c 61 20 68 72 65 66 3d 22 </a>,..<a href="
61a0: 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 http://developer
61b0: 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 72 65 66 .android.com/ref
61c0: 65 72 65 6e 63 65 2f 61 6e 64 72 6f 69 64 2f 74 erence/android/t
61d0: 65 6c 65 70 68 6f 6e 79 2f 50 68 6f 6e 65 53 74 elephony/PhoneSt
61e0: 61 74 65 4c 69 73 74 65 6e 65 72 2e 68 74 6d 6c ateListener.html
61f0: 22 3e 50 68 6f 6e 65 53 74 61 74 65 4c 69 73 74 ">PhoneStateList
6200: 65 6e 65 72 3c 2f 61 3e 2c 20 61 6e 64 0d 0a 3c ener</a>, and..<
6210: 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 64 a href="http://d
6220: 65 76 65 6c 6f 70 65 72 2e 61 6e 64 72 6f 69 64 eveloper.android
6230: 2e 63 6f 6d 2f 72 65 66 65 72 65 6e 63 65 2f 61 .com/reference/a
6240: 6e 64 72 6f 69 64 2f 74 65 6c 65 70 68 6f 6e 79 ndroid/telephony
6250: 2f 53 69 67 6e 61 6c 53 74 72 65 6e 67 74 68 2e /SignalStrength.
6260: 68 74 6d 6c 22 3e 53 69 67 6e 61 6c 53 74 72 65 html">SignalStre
6270: 6e 67 74 68 3c 2f 61 3e 2e 0d 0a 0d 0a 3c 74 74 ngth</a>.....<tt
6280: 3e 62 6f 72 67 20 73 65 6e 64 73 6d 73 20 70 68 >borg sendsms ph
6290: 6f 6e 65 6e 75 6d 62 65 72 20 6d 73 67 20 3f 3c onenumber msg ?<
62a0: 69 3e 61 63 74 69 6f 6e 5f 73 65 6e 64 20 61 63 i>action_send ac
62b0: 74 69 6f 6e 5f 64 65 6c 69 76 65 72 65 64 20 73 tion_delivered s
62c0: 6d 73 63 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d msc</i>?</tt>...
62d0: 0a 20 20 20 20 53 65 6e 64 73 20 61 6e 20 53 4d . Sends an SM
62e0: 53 20 74 65 78 74 20 6d 65 73 73 61 67 65 20 3c S text message <
62f0: 74 74 3e 3c 69 3e 6d 73 67 3c 2f 69 3e 3c 2f 74 tt><i>msg</i></t
6300: 74 3e 20 74 6f 20 3c 74 74 3e 3c 69 3e 70 68 6f t> to <tt><i>pho
6310: 6e 65 6e 75 6d 62 65 72 3c 2f 69 3e 3c 2f 74 74 nenumber</i></tt
6320: 3e 2e 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 >. The optional
6330: 61 72 67 75 6d 65 6e 74 73 20 3c 74 74 3e 3c 69 arguments <tt><i
6340: 3e 61 63 74 69 6f 6e 5f 73 65 6e 64 3c 2f 69 3e >action_send</i>
6350: 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 74 3e 3c 69 </tt> and <tt><i
6360: 3e 61 63 74 69 6f 6e 5f 64 65 6c 69 76 65 72 65 >action_delivere
6370: 64 3c 2f 69 3e 3c 2f 74 74 3e 20 61 72 65 20 74 d</i></tt> are t
6380: 68 65 20 61 63 74 69 6f 6e 20 6e 61 6d 65 73 20 he action names
6390: 6f 66 20 62 72 6f 61 64 63 61 73 74 20 69 6e 74 of broadcast int
63a0: 65 6e 74 73 20 77 68 69 63 68 20 61 72 65 20 67 ents which are g
63b0: 65 6e 65 72 61 74 65 64 20 6f 6e 20 73 74 61 74 enerated on stat
63c0: 65 20 63 68 61 6e 67 65 73 20 72 65 67 61 72 64 e changes regard
63d0: 69 6e 67 20 74 68 65 20 53 4d 53 20 6d 65 73 73 ing the SMS mess
63e0: 61 67 65 20 61 6e 64 20 63 61 6e 20 62 65 20 63 age and can be c
63f0: 61 70 74 75 72 65 64 20 62 79 20 61 20 62 72 6f aptured by a bro
6400: 61 64 63 61 73 74 20 6c 69 73 74 65 6e 65 72 20 adcast listener
6410: 63 61 6c 6c 62 61 63 6b 20 28 73 65 65 20 3c 74 callback (see <t
6420: 74 3e 62 6f 72 67 20 62 72 6f 61 64 63 61 73 74 t>borg broadcast
6430: 20 72 65 67 69 73 74 65 72 3c 2f 74 74 3e 20 65 register</tt> e
6440: 74 2e 61 6c 2e 29 2e 20 54 68 65 20 6f 70 74 69 t.al.). The opti
6450: 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 3c 74 onal argument <t
6460: 74 3e 3c 69 3e 73 6d 73 63 3c 2f 69 3e 3c 2f 74 t><i>smsc</i></t
6470: 74 3e 20 69 73 20 74 68 65 20 53 4d 53 20 6d 65 t> is the SMS me
6480: 73 73 61 67 65 20 63 65 6e 74 65 72 2e 20 54 68 ssage center. Th
6490: 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75 72 6e e command return
64a0: 73 20 31 20 6f 6e 20 73 75 63 63 65 73 73 66 75 s 1 on successfu
64b0: 6c 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 73 l start of the s
64c0: 65 6e 64 20 6f 70 65 72 61 74 69 6f 6e 2c 20 30 end operation, 0
64d0: 20 6f 74 68 65 72 77 69 73 65 2e 20 49 74 20 69 otherwise. It i
64e0: 73 20 6f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 s only available
64f0: 20 77 68 65 6e 20 74 68 65 20 61 70 70 6c 69 63 when the applic
6500: 61 74 69 6f 6e 20 6d 61 6e 69 66 65 73 74 20 68 ation manifest h
6510: 61 73 20 74 68 65 20 3c 74 74 3e 61 6e 64 72 6f as the <tt>andro
6520: 69 64 2e 70 65 72 6d 69 73 73 69 6f 6e 2e 53 45 id.permission.SE
6530: 4e 44 5f 53 4d 53 3c 2f 74 74 3e 20 70 65 72 6d ND_SMS</tt> perm
6540: 69 73 73 69 6f 6e 20 28 77 68 69 63 68 20 69 73 ission (which is
6550: 20 6c 65 66 74 20 6f 75 74 20 69 6e 20 63 75 72 left out in cur
6560: 72 65 6e 74 20 5b 41 6e 64 72 6f 57 69 73 68 5d rent [AndroWish]
6570: 20 72 65 6c 65 61 73 65 73 29 2e 20 46 6f 72 20 releases). For
6580: 66 75 72 74 68 65 72 20 69 6e 66 6f 72 6d 61 74 further informat
6590: 69 6f 6e 20 73 65 65 20 74 68 65 20 41 6e 64 72 ion see the Andr
65a0: 6f 69 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f oid documentatio
65b0: 6e 20 6f 6e 20 74 68 65 20 63 6c 61 73 73 0d 0a n on the class..
65c0: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f <a href="http://
65d0: 64 65 76 65 6c 6f 70 65 72 2e 61 6e 64 72 6f 69 developer.androi
65e0: 64 2e 63 6f 6d 2f 72 65 66 65 72 65 6e 63 65 2f d.com/reference/
65f0: 61 6e 64 72 6f 69 64 2f 74 65 6c 65 70 68 6f 6e android/telephon
6600: 79 2f 53 6d 73 4d 61 6e 61 67 65 72 2e 68 74 6d y/SmsManager.htm
6610: 6c 22 3e 53 6d 73 4d 61 6e 61 67 65 72 3c 2f 61 l">SmsManager</a
6620: 3e 2e 0d 0a 0d 0a 3c 68 34 3e 42 72 6f 61 64 63 >.....<h4>Broadc
6630: 61 73 74 3c 2f 68 34 3e 0d 0a 0d 0a 3c 74 74 3e ast</h4>....<tt>
6640: 62 6f 72 67 20 62 72 6f 61 64 63 61 73 74 20 6c borg broadcast l
6650: 69 73 74 20 3f 3c 69 3e 61 63 74 69 6f 6e 3c 2f ist ?<i>action</
6660: 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 i>?</tt>....
6670: 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f Returns a list o
6680: 66 20 61 6c 6c 20 72 65 67 69 73 74 65 72 65 64 f all registered
6690: 20 62 72 6f 61 64 63 61 73 74 20 68 61 6e 64 6c broadcast handl
66a0: 65 72 73 20 69 6e 20 74 68 65 20 69 6e 74 65 72 ers in the inter
66b0: 70 72 65 74 65 72 20 77 68 65 6e 20 3c 74 74 3e preter when <tt>
66c0: 3c 69 3e 61 63 74 69 6f 6e 3c 2f 69 3e 3c 2f 74 <i>action</i></t
66d0: 74 3e 20 69 73 20 6f 6d 69 74 74 65 64 2e 20 4f t> is omitted. O
66e0: 74 68 65 72 77 69 73 65 20 69 74 20 72 65 74 75 therwise it retu
66f0: 72 6e 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 rns the command
6700: 74 6f 20 62 65 20 69 6e 76 6f 6b 65 64 20 77 68 to be invoked wh
6710: 65 6e 20 74 68 65 20 62 72 6f 61 64 63 61 73 74 en the broadcast
6720: 20 3c 74 74 3e 3c 69 3e 61 63 74 69 6f 6e 3c 2f <tt><i>action</
6730: 69 3e 3c 2f 74 74 3e 20 69 73 20 72 65 63 65 69 i></tt> is recei
6740: 76 65 64 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 ved.....<tt>borg
6750: 20 62 72 6f 61 64 63 61 73 74 20 72 65 67 69 73 broadcast regis
6760: 74 65 72 20 3c 69 3e 61 63 74 69 6f 6e 3c 2f 69 ter <i>action</i
6770: 3e 20 3c 69 3e 63 6d 64 3c 2f 69 3e 3c 2f 74 74 > <i>cmd</i></tt
6780: 3e 0d 0a 0d 0a 20 20 20 20 52 65 67 69 73 74 65 >.... Registe
6790: 72 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 3c rs the command <
67a0: 74 74 3e 3c 69 3e 63 6d 64 3c 2f 69 3e 3c 2f 74 tt><i>cmd</i></t
67b0: 74 3e 20 74 6f 20 62 65 20 69 6e 76 6f 6b 65 64 t> to be invoked
67c0: 20 77 68 65 6e 20 74 68 65 20 62 72 6f 61 64 63 when the broadc
67d0: 61 73 74 20 3c 74 74 3e 3c 69 3e 61 63 74 69 6f ast <tt><i>actio
67e0: 6e 3c 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 72 65 n</i></tt> is re
67f0: 63 65 69 76 65 64 2e 0d 0a 0d 0a 3c 74 74 3e 62 ceived.....<tt>b
6800: 6f 72 67 20 62 72 6f 61 64 63 61 73 74 20 75 6e org broadcast un
6810: 72 65 67 69 73 74 65 72 20 3c 69 3e 61 63 74 69 register <i>acti
6820: 6f 6e 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 on</i></tt>....
6830: 20 20 20 55 6e 72 65 67 69 73 74 65 72 73 20 74 Unregisters t
6840: 68 65 20 63 6f 6d 6d 61 6e 64 20 62 6f 75 6e 64 he command bound
6850: 20 74 6f 20 74 68 65 20 72 65 63 65 70 74 69 6f to the receptio
6860: 6e 20 6f 66 20 74 68 65 20 62 72 6f 61 64 63 61 n of the broadca
6870: 73 74 20 3c 74 74 3e 3c 69 3e 61 63 74 69 6f 6e st <tt><i>action
6880: 3c 2f 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 </i></tt>.....<t
6890: 74 3e 62 6f 72 67 20 62 72 6f 61 64 63 61 73 74 t>borg broadcast
68a0: 20 73 65 6e 64 20 3c 69 3e 61 63 74 69 6f 6e 3c send <i>action<
68b0: 2f 69 3e 20 3f 3c 69 3e 75 72 69 20 74 79 70 65 /i> ?<i>uri type
68c0: 20 63 61 74 65 67 6f 72 69 65 73 20 61 72 67 75 categories argu
68d0: 6d 65 6e 74 73 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d ments</i>?</tt>.
68e0: 0a 0d 0a 20 20 20 20 53 65 6e 64 73 20 74 68 65 ... Sends the
68f0: 20 62 72 6f 61 64 63 61 73 74 20 3c 74 74 3e 3c broadcast <tt><
6900: 69 3e 61 63 74 69 6f 6e 3c 2f 69 3e 3c 2f 74 74 i>action</i></tt
6910: 3e 20 77 69 74 68 20 74 68 65 20 6f 70 74 69 6f > with the optio
6920: 6e 61 6c 20 70 72 6f 70 65 72 74 69 65 73 2f 61 nal properties/a
6930: 72 67 75 6d 65 6e 74 73 20 3c 74 74 3e 3c 69 3e rguments <tt><i>
6940: 75 72 69 3c 2f 69 3e 3c 2f 74 74 3e 2c 20 3c 74 uri</i></tt>, <t
6950: 74 3e 3c 69 3e 74 79 70 65 3c 2f 69 3e 3c 2f 74 t><i>type</i></t
6960: 74 3e 2c 20 3c 74 74 3e 3c 69 3e 63 61 74 65 67 t>, <tt><i>categ
6970: 6f 72 69 65 73 3c 2f 69 3e 3c 2f 74 74 3e 2c 20 ories</i></tt>,
6980: 61 6e 64 20 3c 74 74 3e 3c 69 3e 61 72 67 75 6d and <tt><i>argum
6990: 65 6e 74 73 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 46 ents</i></tt>. F
69a0: 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 or the optional
69b0: 69 74 65 6d 73 20 73 65 65 20 74 68 65 20 64 65 items see the de
69c0: 73 63 72 69 70 74 69 6f 6e 20 69 6e 20 3c 74 74 scription in <tt
69d0: 3e 62 6f 72 67 20 61 63 74 69 76 69 74 79 3c 2f >borg activity</
69e0: 74 74 3e 2e 0d 0a 0d 0a 3c 68 34 3e 4c 6f 63 61 tt>.....<h4>Loca
69f0: 6c 65 3c 2f 68 34 3e 0d 0a 0d 0a 3c 74 74 3e 62 le</h4>....<tt>b
6a00: 6f 72 67 20 6c 6f 63 61 6c 65 20 3f 64 65 66 61 org locale ?defa
6a10: 75 6c 74 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 ult?</tt>....
6a20: 20 52 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 Returns informa
6a30: 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 63 tion about the c
6a40: 75 72 72 65 6e 74 20 64 65 66 61 75 6c 74 20 6c urrent default l
6a50: 6f 63 61 6c 65 20 6f 66 20 74 68 65 20 4a 56 4d ocale of the JVM
6a60: 2e 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 . The result is
6a70: 69 6e 20 61 20 66 6f 72 6d 20 73 75 69 74 61 62 in a form suitab
6a80: 6c 65 20 66 6f 72 20 3c 74 74 3e 61 72 72 61 79 le for <tt>array
6a90: 20 73 65 74 3c 2f 74 74 3e 20 6f 72 20 3c 74 74 set</tt> or <tt
6aa0: 3e 64 69 63 74 20 67 65 74 3c 2f 74 74 3e 20 61 >dict get</tt> a
6ab0: 6e 64 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 nd contains the
6ac0: 66 69 65 6c 64 73 20 3c 74 74 3e 63 6f 75 6e 74 fields <tt>count
6ad0: 72 79 3c 2f 74 74 3e 2c 20 3c 74 74 3e 64 69 73 ry</tt>, <tt>dis
6ae0: 70 6c 61 79 5f 63 6f 75 6e 74 72 79 3c 2f 74 74 play_country</tt
6af0: 3e 2c 20 3c 74 74 3e 64 69 73 70 6c 61 79 5f 6c >, <tt>display_l
6b00: 61 6e 67 75 61 67 65 3c 2f 74 74 3e 2c 20 3c 74 anguage</tt>, <t
6b10: 74 3e 64 69 73 70 6c 61 79 5f 6e 61 6d 65 3c 2f t>display_name</
6b20: 74 74 3e 2c 20 3c 74 74 3e 64 69 73 70 6c 61 79 tt>, <tt>display
6b30: 5f 76 61 72 69 61 6e 74 3c 2f 74 74 3e 2c 20 3c _variant</tt>, <
6b40: 74 74 3e 69 73 6f 33 5f 63 6f 75 6e 74 72 79 3c tt>iso3_country<
6b50: 2f 74 74 3e 2c 20 3c 74 74 3e 69 73 6f 33 5f 6c /tt>, <tt>iso3_l
6b60: 61 6e 67 75 61 67 65 3c 2f 74 74 3e 2c 20 3c 74 anguage</tt>, <t
6b70: 74 3e 6c 61 6e 67 75 61 67 65 3c 2f 74 74 3e 2c t>language</tt>,
6b80: 20 61 6e 64 20 3c 74 74 3e 76 61 72 69 61 6e 74 and <tt>variant
6b90: 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f </tt>.....<tt>bo
6ba0: 72 67 20 6c 6f 63 61 6c 65 20 3c 69 3e 6c 61 6e rg locale <i>lan
6bb0: 67 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 g</i></tt>....
6bc0: 20 20 52 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d Returns inform
6bd0: 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 ation about the
6be0: 6c 6f 63 61 6c 65 20 69 64 65 6e 74 69 66 69 65 locale identifie
6bf0: 64 20 62 79 20 3c 74 74 3e 3c 69 3e 6c 61 6e 67 d by <tt><i>lang
6c00: 3c 2f 69 3e 3c 2f 74 74 3e 2c 20 77 68 69 63 68 </i></tt>, which
6c10: 20 6d 75 73 74 20 62 65 20 73 70 65 63 69 66 69 must be specifi
6c20: 65 64 20 61 73 20 61 20 74 77 6f 20 6c 65 74 74 ed as a two lett
6c30: 65 72 20 63 6f 64 65 20 77 69 74 68 20 61 6e 20 er code with an
6c40: 6f 70 74 69 6f 6e 61 6c 20 76 61 72 69 61 6e 74 optional variant
6c50: 20 61 6e 64 20 61 6e 20 6f 70 74 69 6f 6e 61 6c and an optional
6c60: 20 65 6e 63 6f 64 69 6e 67 20 70 61 72 74 2c 20 encoding part,
6c70: 65 2e 67 2e 20 3c 74 74 3e 64 65 3c 2f 74 74 3e e.g. <tt>de</tt>
6c80: 2c 20 3c 74 74 3e 66 72 5f 42 45 3c 2f 74 74 3e , <tt>fr_BE</tt>
6c90: 2c 20 6f 72 20 3c 74 74 3e 65 6e 5f 47 42 2e 55 , or <tt>en_GB.U
6ca0: 54 46 2d 38 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 TF-8</tt>.....<t
6cb0: 74 3e 62 6f 72 67 20 6c 6f 63 61 6c 65 20 74 74 t>borg locale tt
6cc0: 73 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 s</tt>.... Re
6cd0: 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f turns informatio
6ce0: 6e 20 61 62 6f 75 74 20 74 68 65 20 6c 6f 63 61 n about the loca
6cf0: 6c 65 20 75 73 65 64 20 66 6f 72 20 74 65 78 74 le used for text
6d00: 2d 74 6f 2d 73 70 65 65 63 68 2e 20 49 66 20 74 -to-speech. If t
6d10: 65 78 74 2d 74 6f 2d 73 70 65 65 63 68 20 66 61 ext-to-speech fa
6d20: 63 69 6c 69 74 69 65 73 20 77 65 72 65 6e 27 74 cilities weren't
6d30: 20 75 73 65 64 20 77 68 65 6e 20 74 68 65 20 63 used when the c
6d40: 6f 6d 6d 61 6e 64 20 69 73 20 69 6e 76 6f 6b 65 ommand is invoke
6d50: 64 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 d, the returned
6d60: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 69 information is i
6d70: 64 65 6e 74 69 63 61 6c 20 77 69 74 68 20 3c 74 dentical with <t
6d80: 74 3e 62 6f 72 67 20 6c 6f 63 61 6c 65 20 64 65 t>borg locale de
6d90: 66 61 75 6c 74 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c fault</tt>.....<
6da0: 74 74 3e 62 6f 72 67 20 6c 6f 63 61 6c 65 20 73 tt>borg locale s
6db0: 65 74 20 3c 69 3e 6c 61 6e 67 3c 2f 69 3e 3c 2f et <i>lang</i></
6dc0: 74 74 3e 0d 0a 0d 0a 20 20 20 20 43 68 61 6e 67 tt>.... Chang
6dd0: 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c es the current l
6de0: 6f 63 61 6c 65 20 6f 66 20 74 68 65 20 4a 56 4d ocale of the JVM
6df0: 20 74 6f 20 74 68 65 20 6c 61 6e 67 75 61 67 65 to the language
6e00: 20 63 6f 64 65 20 3c 74 74 3e 3c 69 3e 6c 61 6e code <tt><i>lan
6e10: 67 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 49 66 20 74 g</i></tt>. If t
6e20: 68 65 20 6c 6f 63 61 6c 65 20 63 68 61 6e 67 65 he locale change
6e30: 20 73 75 63 63 65 65 64 65 64 2c 20 74 68 65 20 succeeded, the
6e40: 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 environment vari
6e50: 61 62 6c 65 20 3c 74 74 3e 65 6e 76 28 4c 41 4e able <tt>env(LAN
6e60: 47 29 3c 2f 74 74 3e 20 69 73 20 63 68 61 6e 67 G)</tt> is chang
6e70: 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0d ed accordingly..
6e80: 0a 0d 0a 3c 68 34 3e 43 61 6d 65 72 61 2d 52 65 ...<h4>Camera-Re
6e90: 6c 61 74 65 64 20 43 6f 6d 6d 61 6e 64 73 3c 2f lated Commands</
6ea0: 68 34 3e 0d 0a 0d 0a 43 61 6d 65 72 61 20 73 75 h4>....Camera su
6eb0: 70 70 6f 72 74 20 69 73 20 61 76 61 69 6c 61 62 pport is availab
6ec0: 6c 65 20 6f 6e 20 64 65 76 69 63 65 73 20 77 69 le on devices wi
6ed0: 74 68 20 41 6e 64 72 6f 69 64 20 33 2e 30 20 6f th Android 3.0 o
6ee0: 72 20 6e 65 77 65 72 2e 0d 0a 0d 0a 3c 74 74 3e r newer.....<tt>
6ef0: 62 6f 72 67 20 63 61 6d 65 72 61 20 63 6c 6f 73 borg camera clos
6f00: 65 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 43 6c e</tt>.... Cl
6f10: 6f 73 65 20 74 68 65 20 63 61 6d 65 72 61 2e 20 ose the camera.
6f20: 52 65 74 75 72 6e 73 20 6e 6f 6e 2d 7a 65 72 6f Returns non-zero
6f30: 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 7a 65 72 on success, zer
6f40: 6f 20 6f 74 68 65 72 77 69 73 65 2c 20 65 2e 67 o otherwise, e.g
6f50: 2e 20 77 68 65 6e 20 74 68 65 20 63 61 6d 65 72 . when the camer
6f60: 61 20 77 61 73 20 61 6c 72 65 61 64 79 20 63 6c a was already cl
6f70: 6f 73 65 64 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 osed.....<tt>bor
6f80: 67 20 63 61 6d 65 72 61 20 63 75 72 72 65 6e 74 g camera current
6f90: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 </tt>.... Ret
6fa0: 75 72 6e 73 20 74 68 65 20 63 75 72 72 65 6e 74 urns the current
6fb0: 6c 79 20 6f 70 65 6e 65 64 20 63 61 6d 65 72 61 ly opened camera
6fc0: 20 6e 75 6d 62 65 72 20 6f 72 20 2d 31 20 77 68 number or -1 wh
6fd0: 65 6e 20 74 68 65 20 63 61 6d 65 72 61 20 69 73 en the camera is
6fe0: 20 6e 6f 74 20 6f 70 65 6e 65 64 2e 20 4f 6e 20 not opened. On
6ff0: 6d 61 6e 79 20 74 61 62 6c 65 74 73 20 63 61 6d many tablets cam
7000: 65 72 61 20 30 20 69 73 20 74 68 65 20 62 61 63 era 0 is the bac
7010: 6b 2d 66 61 63 69 6e 67 20 63 61 6d 65 72 61 2c k-facing camera,
7020: 20 61 6e 64 20 63 61 6d 65 72 61 20 31 20 74 68 and camera 1 th
7030: 65 20 66 72 6f 6e 74 2d 66 61 63 69 6e 67 20 6f e front-facing o
7040: 6e 65 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 ne.....<tt>borg
7050: 63 61 6d 65 72 61 20 67 72 61 79 69 6d 61 67 65 camera grayimage
7060: 20 3f 3c 69 3e 70 68 6f 74 6f 3c 2f 69 3e 3f 3c ?<i>photo</i>?<
7070: 2f 74 74 3e 3c 62 72 3e 0d 0a 3c 74 74 3e 62 6f /tt><br>..<tt>bo
7080: 72 67 20 63 61 6d 65 72 61 20 67 72 65 79 69 6d rg camera greyim
7090: 61 67 65 20 3f 3c 69 3e 70 68 6f 74 6f 3c 2f 69 age ?<i>photo</i
70a0: 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 43 >?</tt>.... C
70b0: 6f 70 69 65 73 20 74 68 65 20 6d 6f 73 74 20 72 opies the most r
70c0: 65 63 65 6e 74 20 63 61 6d 65 72 61 20 70 72 65 ecent camera pre
70d0: 76 69 65 77 20 61 73 20 67 72 65 79 20 69 6d 61 view as grey ima
70e0: 67 65 20 69 6e 74 6f 20 74 68 65 20 70 68 6f 74 ge into the phot
70f0: 6f 20 69 6d 61 67 65 20 69 64 65 6e 74 69 66 69 o image identifi
7100: 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e 70 68 6f ed by <tt><i>pho
7110: 74 6f 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 52 65 74 to</i></tt>. Ret
7120: 75 72 6e 73 20 6e 6f 6e 2d 7a 65 72 6f 20 6f 6e urns non-zero on
7130: 20 73 75 63 63 65 73 73 20 6f 72 20 7a 65 72 6f success or zero
7140: 20 69 66 20 6e 6f 20 64 61 74 61 20 74 72 61 6e if no data tran
7150: 73 66 65 72 20 68 61 73 20 74 61 6b 65 6e 20 70 sfer has taken p
7160: 6c 61 63 65 2e 20 49 66 20 3c 74 74 3e 3c 69 3e lace. If <tt><i>
7170: 70 68 6f 74 6f 3c 2f 69 3e 3c 2f 74 74 3e 20 69 photo</i></tt> i
7180: 73 20 6f 6d 69 74 74 65 64 2c 20 61 20 66 6f 75 s omitted, a fou
7190: 72 20 65 6c 65 6d 65 6e 74 20 6c 69 73 74 20 69 r element list i
71a0: 73 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 s returned with
71b0: 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e the first elemen
71c0: 74 20 62 65 69 6e 67 20 74 68 65 20 69 6d 61 67 t being the imag
71d0: 65 20 77 69 64 74 68 2c 20 74 68 65 20 73 65 63 e width, the sec
71e0: 6f 6e 64 20 74 68 65 20 69 6d 61 67 65 20 68 65 ond the image he
71f0: 69 67 68 74 2c 20 74 68 65 20 74 68 69 72 64 20 ight, the third
7200: 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 the number of by
7210: 74 65 73 20 70 65 72 20 70 69 78 65 6c 2c 20 61 tes per pixel, a
7220: 6e 64 20 74 68 65 20 6c 61 73 74 20 74 68 65 20 nd the last the
7230: 69 6d 61 67 65 27 73 20 67 72 65 79 20 76 61 6c image's grey val
7240: 75 65 73 20 77 69 74 68 20 31 20 62 79 74 65 20 ues with 1 byte
7250: 70 65 72 20 70 69 78 65 6c 20 61 73 20 61 20 62 per pixel as a b
7260: 79 74 65 20 61 72 72 61 79 2e 20 49 6e 20 74 68 yte array. In th
7270: 69 73 20 63 61 73 65 20 61 6e 20 65 72 72 6f 72 is case an error
7280: 20 69 73 20 69 6e 64 69 63 61 74 65 64 20 62 79 is indicated by
7290: 20 74 68 72 6f 77 69 6e 67 20 61 6e 20 65 78 63 throwing an exc
72a0: 65 70 74 69 6f 6e 2e 20 41 6e 20 65 78 70 65 72 eption. An exper
72b0: 69 6d 65 6e 74 61 6c 20 66 65 61 74 75 72 65 20 imental feature
72c0: 69 73 20 64 69 72 65 63 74 20 72 65 6e 64 65 72 is direct render
72d0: 69 6e 67 20 69 6e 74 6f 20 61 20 77 69 64 67 65 ing into a widge
72e0: 74 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 t. In this case
72f0: 74 68 65 20 3c 74 74 3e 3c 69 3e 70 68 6f 74 6f the <tt><i>photo
7300: 3c 2f 69 3e 3c 2f 74 74 3e 20 70 61 72 61 6d 65 </i></tt> parame
7310: 74 65 72 20 6d 75 73 74 20 62 65 20 74 68 65 20 ter must be the
7320: 70 61 74 68 20 6e 61 6d 65 20 6f 66 20 61 20 54 path name of a T
7330: 6b 20 77 69 6e 64 6f 77 20 77 68 69 63 68 20 73 k window which s
7340: 68 6f 75 6c 64 20 62 65 20 61 20 66 72 61 6d 65 hould be a frame
7350: 20 6f 72 20 74 6f 70 6c 65 76 65 6c 20 77 69 64 or toplevel wid
7360: 67 65 74 2e 20 57 68 65 6e 20 74 68 65 20 63 61 get. When the ca
7370: 6d 65 72 61 20 69 73 20 73 74 61 72 74 65 64 20 mera is started
7380: 74 68 65 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 the background c
7390: 6f 6c 6f 72 20 6f 66 20 74 68 65 20 77 69 64 67 olor of the widg
73a0: 65 74 20 73 68 6f 75 6c 64 20 62 65 20 73 65 74 et should be set
73b0: 20 74 6f 20 61 6e 20 65 6d 70 74 79 20 73 74 72 to an empty str
73c0: 69 6e 67 20 73 6f 20 74 68 61 74 20 6e 6f 20 64 ing so that no d
73d0: 72 61 77 69 6e 67 20 63 61 6c 6c 73 20 66 72 6f rawing calls fro
73e0: 6d 20 54 6b 20 61 72 65 20 63 61 72 72 69 65 64 m Tk are carried
73f0: 20 6f 75 74 2e 20 57 68 65 6e 20 74 68 65 20 63 out. When the c
7400: 61 6d 65 72 61 20 69 73 20 73 74 6f 70 70 65 64 amera is stopped
7410: 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 73 , it should be s
7420: 65 74 20 74 6f 20 62 6c 61 63 6b 2e 0d 0a 0d 0a et to black.....
7430: 3c 74 74 3e 62 6f 72 67 20 63 61 6d 65 72 61 20 <tt>borg camera
7440: 69 6d 61 67 65 20 3f 3c 69 3e 70 68 6f 74 6f 3c image ?<i>photo<
7450: 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 /i>?</tt>....
7460: 20 43 6f 70 69 65 73 20 74 68 65 20 6d 6f 73 74 Copies the most
7470: 20 72 65 63 65 6e 74 20 63 61 6d 65 72 61 20 70 recent camera p
7480: 72 65 76 69 65 77 20 61 73 20 63 6f 6c 6f 72 20 review as color
7490: 69 6d 61 67 65 20 69 6e 74 6f 20 74 68 65 20 70 image into the p
74a0: 68 6f 74 6f 20 69 6d 61 67 65 20 69 64 65 6e 74 hoto image ident
74b0: 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e ified by <tt><i>
74c0: 70 68 6f 74 6f 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 photo</i></tt>.
74d0: 52 65 74 75 72 6e 73 20 6e 6f 6e 2d 7a 65 72 6f Returns non-zero
74e0: 20 6f 6e 20 73 75 63 63 65 73 73 20 6f 72 20 7a on success or z
74f0: 65 72 6f 20 69 66 20 6e 6f 20 64 61 74 61 20 74 ero if no data t
7500: 72 61 6e 73 66 65 72 20 68 61 73 20 74 61 6b 65 ransfer has take
7510: 6e 20 70 6c 61 63 65 2e 20 49 66 20 3c 74 74 3e n place. If <tt>
7520: 3c 69 3e 70 68 6f 74 6f 3c 2f 69 3e 3c 2f 74 74 <i>photo</i></tt
7530: 3e 20 69 73 20 6f 6d 69 74 74 65 64 2c 20 61 20 > is omitted, a
7540: 66 6f 75 72 20 65 6c 65 6d 65 6e 74 20 6c 69 73 four element lis
7550: 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 69 t is returned wi
7560: 74 68 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 th the first ele
7570: 6d 65 6e 74 20 62 65 69 6e 67 20 74 68 65 20 69 ment being the i
7580: 6d 61 67 65 20 77 69 64 74 68 2c 20 74 68 65 20 mage width, the
7590: 73 65 63 6f 6e 64 20 74 68 65 20 69 6d 61 67 65 second the image
75a0: 20 68 65 69 67 68 74 2c 20 74 68 65 20 74 68 69 height, the thi
75b0: 72 64 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 rd the number of
75c0: 20 62 79 74 65 73 20 70 65 72 20 70 69 78 65 6c bytes per pixel
75d0: 2c 20 61 6e 64 20 74 68 65 20 6c 61 73 74 20 74 , and the last t
75e0: 68 65 20 69 6d 61 67 65 27 73 20 52 47 42 20 76 he image's RGB v
75f0: 61 6c 75 65 73 20 77 69 74 68 20 33 20 62 79 74 alues with 3 byt
7600: 65 73 20 70 65 72 20 70 69 78 65 6c 20 69 6e 20 es per pixel in
7610: 72 65 64 2c 20 67 72 65 65 6e 2c 20 62 6c 75 65 red, green, blue
7620: 20 6f 72 64 65 72 20 61 73 20 61 20 62 79 74 65 order as a byte
7630: 20 61 72 72 61 79 2e 20 49 6e 20 74 68 69 73 20 array. In this
7640: 63 61 73 65 20 61 6e 20 65 72 72 6f 72 20 69 73 case an error is
7650: 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 74 68 indicated by th
7660: 72 6f 77 69 6e 67 20 61 6e 20 65 78 63 65 70 74 rowing an except
7670: 69 6f 6e 2e 0d 0a 41 6e 20 65 78 70 65 72 69 6d ion...An experim
7680: 65 6e 74 61 6c 20 66 65 61 74 75 72 65 20 69 73 ental feature is
7690: 20 64 69 72 65 63 74 20 72 65 6e 64 65 72 69 6e direct renderin
76a0: 67 20 69 6e 74 6f 20 61 20 77 69 64 67 65 74 2e g into a widget.
76b0: 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 In this case th
76c0: 65 20 3c 74 74 3e 3c 69 3e 70 68 6f 74 6f 3c 2f e <tt><i>photo</
76d0: 69 3e 3c 2f 74 74 3e 20 70 61 72 61 6d 65 74 65 i></tt> paramete
76e0: 72 20 6d 75 73 74 20 62 65 20 74 68 65 20 70 61 r must be the pa
76f0: 74 68 20 6e 61 6d 65 20 6f 66 20 61 20 54 6b 20 th name of a Tk
7700: 77 69 6e 64 6f 77 20 77 68 69 63 68 20 73 68 6f window which sho
7710: 75 6c 64 20 62 65 20 61 20 66 72 61 6d 65 20 6f uld be a frame o
7720: 72 20 74 6f 70 6c 65 76 65 6c 20 77 69 64 67 65 r toplevel widge
7730: 74 2e 20 57 68 65 6e 20 74 68 65 20 63 61 6d 65 t. When the came
7740: 72 61 20 69 73 20 73 74 61 72 74 65 64 20 74 68 ra is started th
7750: 65 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c e background col
7760: 6f 72 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 or of the widget
7770: 20 73 68 6f 75 6c 64 20 62 65 20 73 65 74 20 74 should be set t
7780: 6f 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e o an empty strin
7790: 67 20 73 6f 20 74 68 61 74 20 6e 6f 20 64 72 61 g so that no dra
77a0: 77 69 6e 67 20 63 61 6c 6c 73 20 66 72 6f 6d 20 wing calls from
77b0: 54 6b 20 61 72 65 20 63 61 72 72 69 65 64 20 6f Tk are carried o
77c0: 75 74 2e 20 57 68 65 6e 20 74 68 65 20 63 61 6d ut. When the cam
77d0: 65 72 61 20 69 73 20 73 74 6f 70 70 65 64 2c 20 era is stopped,
77e0: 69 74 20 73 68 6f 75 6c 64 20 62 65 20 73 65 74 it should be set
77f0: 20 74 6f 20 62 6c 61 63 6b 2e 0d 0a 0d 0a 3c 74 to black.....<t
7800: 74 3e 62 6f 72 67 20 63 61 6d 65 72 61 20 69 6e t>borg camera in
7810: 66 6f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 fo</tt>.... R
7820: 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 eturns informati
7830: 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 63 75 72 on about the cur
7840: 72 65 6e 74 6c 79 20 6f 70 65 6e 65 64 20 63 61 rently opened ca
7850: 6d 65 72 61 20 61 73 20 61 20 74 77 6f 20 65 6c mera as a two el
7860: 65 6d 65 6e 74 20 6c 69 73 74 20 6d 61 64 65 20 ement list made
7870: 75 70 20 6f 66 20 69 6e 74 65 67 65 72 20 6e 75 up of integer nu
7880: 6d 62 65 72 73 2e 20 54 68 65 20 66 69 72 73 74 mbers. The first
7890: 20 69 73 20 74 68 65 20 72 6f 74 61 74 69 6f 6e is the rotation
78a0: 20 6f 66 20 74 68 65 20 63 61 6d 65 72 61 20 72 of the camera r
78b0: 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 73 elative to the s
78c0: 63 72 65 65 6e 2c 20 74 68 65 20 73 65 63 6f 6e creen, the secon
78d0: 64 20 61 6e 20 69 6e 64 69 63 61 74 69 6f 6e 20 d an indication
78e0: 66 6f 72 20 66 72 6f 6e 74 2d 66 61 63 69 6e 67 for front-facing
78f0: 20 28 31 29 20 6f 72 20 62 61 63 6b 2d 66 61 63 (1) or back-fac
7900: 69 6e 67 20 28 30 29 20 76 69 65 77 20 6f 66 20 ing (0) view of
7910: 74 68 65 20 63 61 6d 65 72 61 20 72 65 6c 61 74 the camera relat
7920: 69 76 65 20 74 6f 20 74 68 65 20 73 63 72 65 65 ive to the scree
7930: 6e 2e 20 49 66 20 6e 6f 20 63 61 6d 65 72 61 20 n. If no camera
7940: 69 73 20 6f 70 65 6e 65 64 20 74 68 65 20 72 65 is opened the re
7950: 73 75 6c 74 20 69 73 20 61 6e 20 65 6d 70 74 79 sult is an empty
7960: 20 6c 69 73 74 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f list.....<tt>bo
7970: 72 67 20 63 61 6d 65 72 61 20 6a 70 65 67 3c 2f rg camera jpeg</
7980: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 tt>.... Retur
7990: 6e 73 20 61 20 4a 50 45 47 20 69 6d 61 67 65 20 ns a JPEG image
79a0: 6f 66 20 74 68 65 20 63 61 6d 65 72 61 20 61 73 of the camera as
79b0: 20 61 20 62 79 74 65 20 61 72 72 61 79 20 61 66 a byte array af
79c0: 74 65 72 20 70 72 65 76 69 65 77 20 68 61 73 20 ter preview has
79d0: 62 65 65 6e 20 73 74 61 72 74 65 64 20 75 73 69 been started usi
79e0: 6e 67 20 3c 74 74 3e 62 6f 72 67 20 63 61 6d 65 ng <tt>borg came
79f0: 72 61 20 73 74 61 72 74 3c 2f 74 74 3e 20 61 6e ra start</tt> an
7a00: 64 20 4a 50 45 47 20 63 61 70 74 75 72 65 20 68 d JPEG capture h
7a10: 61 73 20 62 65 65 6e 20 69 6e 69 74 69 61 74 65 as been initiate
7a20: 64 20 77 69 74 68 20 3c 74 74 3e 62 6f 72 67 20 d with <tt>borg
7a30: 63 61 6d 65 72 61 20 74 61 6b 65 6a 70 65 67 3c camera takejpeg<
7a40: 2f 74 74 3e 2e 20 49 6e 20 63 6f 6e 74 72 61 73 /tt>. In contras
7a50: 74 20 74 6f 20 3c 74 74 3e 62 6f 72 67 20 63 61 t to <tt>borg ca
7a60: 6d 65 72 61 20 69 6d 61 67 65 20 2e 2e 2e 3c 2f mera image ...</
7a70: 74 74 3e 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 tt> this command
7a80: 20 63 6f 6e 73 75 6d 65 73 20 74 68 65 20 69 6d consumes the im
7a90: 61 67 65 2e 20 49 66 20 6e 6f 20 4a 50 45 47 20 age. If no JPEG
7aa0: 70 69 63 74 75 72 65 20 69 73 20 61 76 61 69 6c picture is avail
7ab0: 61 62 6c 65 20 77 68 65 6e 20 74 68 65 20 63 6f able when the co
7ac0: 6d 6d 61 6e 64 20 69 73 20 69 6e 76 6f 6b 65 64 mmand is invoked
7ad0: 2c 20 61 6e 20 65 72 72 6f 72 20 69 73 20 74 68 , an error is th
7ae0: 72 6f 77 6e 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 rown.....<tt>bor
7af0: 67 20 63 61 6d 65 72 61 20 6d 69 72 72 6f 72 20 g camera mirror
7b00: 3f 3c 69 3e 78 20 79 3c 2f 69 3e 3f 3c 2f 74 74 ?<i>x y</i>?</tt
7b10: 3e 0d 0a 0d 0a 20 20 20 20 43 6f 6e 74 72 6f 6c >.... Control
7b20: 73 20 6d 69 72 72 6f 72 69 6e 67 20 6f 66 20 70 s mirroring of p
7b30: 72 65 76 69 65 77 20 69 6d 61 67 65 73 20 77 68 review images wh
7b40: 69 63 68 20 61 72 65 20 6d 69 72 72 6f 72 65 64 ich are mirrored
7b50: 20 61 6c 6f 6e 67 20 74 68 65 20 58 20 61 78 69 along the X axi
7b60: 73 20 77 68 65 6e 20 3c 74 74 3e 3c 69 3e 78 3c s when <tt><i>x<
7b70: 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 6f 6e 65 20 /i></tt> is one
7b80: 61 6e 64 20 61 6c 6f 6e 67 20 74 68 65 20 59 20 and along the Y
7b90: 61 78 69 73 20 77 68 65 6e 20 3c 74 74 3e 3c 69 axis when <tt><i
7ba0: 3e 79 3c 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 6f >y</i></tt> is o
7bb0: 6e 65 2e 20 3c 74 74 3e 62 6f 72 67 20 63 61 6d ne. <tt>borg cam
7bc0: 65 72 61 20 6d 69 72 72 6f 72 20 30 20 31 3c 2f era mirror 0 1</
7bd0: 74 74 3e 20 69 73 20 75 73 65 66 75 6c 20 74 6f tt> is useful to
7be0: 20 6d 69 72 72 6f 72 20 74 68 65 20 70 72 65 76 mirror the prev
7bf0: 69 65 77 20 69 6d 61 67 65 20 6f 66 20 61 20 66 iew image of a f
7c00: 72 6f 6e 74 2d 66 61 63 69 6e 67 20 63 61 6d 65 ront-facing came
7c10: 72 61 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 ra.....<tt>borg
7c20: 63 61 6d 65 72 61 20 6e 75 6d 63 61 6d 65 72 61 camera numcamera
7c30: 73 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 s</tt>.... Re
7c40: 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 turns the number
7c50: 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 61 of available ca
7c60: 6d 65 72 61 73 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f meras.....<tt>bo
7c70: 72 67 20 63 61 6d 65 72 61 20 6f 70 65 6e 20 3f rg camera open ?
7c80: 3c 69 3e 6e 75 6d 3c 2f 69 3e 3f 3c 2f 74 74 3e <i>num</i>?</tt>
7c90: 0d 0a 0d 0a 20 20 20 20 4f 70 65 6e 73 20 63 61 .... Opens ca
7ca0: 6d 65 72 61 20 6e 75 6d 62 65 72 20 3c 74 74 3e mera number <tt>
7cb0: 3c 69 3e 6e 75 6d 3c 2f 69 3e 3c 2f 74 74 3e 20 <i>num</i></tt>
7cc0: 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d and returns non-
7cd0: 7a 65 72 6f 20 6f 6e 20 73 75 63 63 65 73 73 2e zero on success.
7ce0: 20 4f 6e 6c 79 20 6f 6e 65 20 63 61 6d 65 72 61 Only one camera
7cf0: 20 63 61 6e 20 62 65 20 6f 70 65 6e 65 64 20 61 can be opened a
7d00: 74 20 61 6e 79 20 6f 6e 65 20 74 69 6d 65 2e 20 t any one time.
7d10: 4f 6e 20 65 72 72 6f 72 20 6f 72 20 77 68 65 6e On error or when
7d20: 20 61 20 63 61 6d 65 72 61 20 69 73 20 61 6c 72 a camera is alr
7d30: 65 61 64 79 20 6f 70 65 6e 65 64 2c 20 7a 65 72 eady opened, zer
7d40: 6f 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 57 o is returned. W
7d50: 68 65 6e 20 3c 74 74 3e 3c 69 3e 6e 75 6d 3c 2f hen <tt><i>num</
7d60: 69 3e 3c 2f 74 74 3e 20 69 73 20 6f 6d 69 74 74 i></tt> is omitt
7d70: 65 64 20 74 68 65 20 66 69 72 73 74 20 63 61 6d ed the first cam
7d80: 65 72 61 20 69 73 20 6f 70 65 6e 65 64 20 28 75 era is opened (u
7d90: 73 75 61 6c 6c 79 20 74 68 65 20 62 61 63 6b 2d sually the back-
7da0: 66 61 63 69 6e 67 20 69 66 20 74 77 6f 20 63 61 facing if two ca
7db0: 6d 65 72 61 73 20 61 72 65 20 61 76 61 69 6c 61 meras are availa
7dc0: 62 6c 65 29 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 ble).....<tt>bor
7dd0: 67 20 63 61 6d 65 72 61 20 6f 72 69 65 6e 74 61 g camera orienta
7de0: 74 69 6f 6e 20 3f 3c 69 3e 64 65 67 72 65 65 73 tion ?<i>degrees
7df0: 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 </i>?</tt>....
7e00: 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 63 75 Returns the cu
7e10: 72 72 65 6e 74 20 6f 72 69 65 6e 74 61 74 69 6f rrent orientatio
7e20: 6e 20 6f 66 20 74 68 65 20 70 72 65 76 69 65 77 n of the preview
7e30: 20 69 6d 61 67 65 20 72 65 6c 61 74 69 76 65 20 image relative
7e40: 74 6f 20 74 68 65 20 73 63 72 65 65 6e 20 6f 72 to the screen or
7e50: 20 63 68 61 6e 67 65 73 20 69 74 20 74 6f 20 3c changes it to <
7e60: 74 74 3e 3c 69 3e 64 65 67 72 65 65 73 3c 2f 69 tt><i>degrees</i
7e70: 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 ></tt>.....<tt>b
7e80: 6f 72 67 20 63 61 6d 65 72 61 20 70 61 72 61 6d org camera param
7e90: 65 74 65 72 73 20 3f 3c 69 3e 6b 65 79 20 76 61 eters ?<i>key va
7ea0: 6c 75 65 20 2e 2e 2e 3c 2f 69 3e 3f 3c 2f 74 74 lue ...</i>?</tt
7eb0: 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 >.... Returns
7ec0: 20 6f 72 20 63 68 61 6e 67 65 73 20 63 61 6d 65 or changes came
7ed0: 72 61 20 70 61 72 61 6d 65 74 65 72 73 20 67 69 ra parameters gi
7ee0: 76 65 6e 20 61 73 20 6b 65 79 2d 76 61 6c 75 65 ven as key-value
7ef0: 20 70 61 69 72 73 2c 20 65 2e 67 2e 20 3c 74 74 pairs, e.g. <tt
7f00: 3e 70 72 65 76 69 65 77 2d 73 69 7a 65 20 33 32 >preview-size 32
7f10: 30 78 32 34 30 3c 2f 74 74 3e 20 77 69 6c 6c 20 0x240</tt> will
7f20: 63 68 61 6e 67 65 20 74 68 65 20 73 69 7a 65 20 change the size
7f30: 6f 66 20 70 72 65 76 69 65 77 20 69 6d 61 67 65 of preview image
7f40: 73 20 74 6f 20 77 69 64 74 68 20 33 32 30 20 61 s to width 320 a
7f50: 6e 64 20 68 65 69 67 68 74 20 32 34 30 2e 20 54 nd height 240. T
7f60: 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75 72 he command retur
7f70: 6e 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 ns the current c
7f80: 61 6d 65 72 61 20 70 61 72 61 6d 65 74 65 72 73 amera parameters
7f90: 20 28 61 66 74 65 72 20 74 68 65 20 70 6f 74 65 (after the pote
7fa0: 6e 74 69 61 6c 20 63 68 61 6e 67 65 2c 20 77 68 ntial change, wh
7fb0: 65 6e 20 6b 65 79 73 20 61 6e 64 20 76 61 6c 75 en keys and valu
7fc0: 65 73 20 77 68 65 72 65 20 67 69 76 65 6e 29 20 es where given)
7fd0: 61 73 20 61 20 6b 65 79 2d 76 61 6c 75 65 20 6c as a key-value l
7fe0: 69 73 74 20 77 68 69 63 68 20 63 61 6e 20 62 65 ist which can be
7ff0: 20 70 72 6f 63 65 73 73 65 64 20 77 69 74 68 20 processed with
8000: 3c 74 74 3e 61 72 72 61 79 20 73 65 74 3c 2f 74 <tt>array set</t
8010: 74 3e 20 6f 72 20 3c 74 74 3e 64 69 63 74 20 67 t> or <tt>dict g
8020: 65 74 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e et</tt>.....<tt>
8030: 62 6f 72 67 20 63 61 6d 65 72 61 20 73 74 61 72 borg camera star
8040: 74 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 53 74 t</tt>.... St
8050: 61 72 74 73 20 74 68 65 20 63 61 6d 65 72 61 2e arts the camera.
8060: 20 41 63 71 75 69 72 65 64 20 70 72 65 76 69 65 Acquired previe
8070: 77 20 69 6d 61 67 65 73 20 61 72 65 20 72 65 70 w images are rep
8080: 6f 72 74 65 64 20 62 79 20 74 68 65 20 76 69 72 orted by the vir
8090: 74 75 61 6c 20 65 76 65 6e 74 20 3c 74 74 3e 3c tual event <tt><
80a0: 3c 49 6d 61 67 65 43 61 70 74 75 72 65 3e 3e 3c <ImageCapture>><
80b0: 2f 74 74 3e 2e 20 52 65 74 75 72 6e 73 20 6e 6f /tt>. Returns no
80c0: 6e 2d 7a 65 72 6f 20 6f 6e 20 73 75 63 63 65 73 n-zero on succes
80d0: 73 2c 20 7a 65 72 6f 20 77 68 65 6e 20 74 68 65 s, zero when the
80e0: 20 63 61 6d 65 72 61 20 69 73 20 61 6c 72 65 61 camera is alrea
80f0: 64 79 20 73 74 61 72 74 65 64 20 6f 72 20 61 6e dy started or an
8100: 20 65 72 72 6f 72 20 68 61 73 20 62 65 65 6e 20 error has been
8110: 64 65 74 65 63 74 65 64 2e 20 57 68 65 6e 20 74 detected. When t
8120: 68 65 20 61 63 71 75 69 73 69 74 69 6f 6e 20 6f he acquisition o
8130: 66 20 63 61 6d 65 72 61 20 70 72 65 76 69 65 77 f camera preview
8140: 20 69 6d 61 67 65 73 20 69 73 20 72 75 6e 6e 69 images is runni
8150: 6e 67 20 3c 74 74 3e 62 6f 72 67 20 63 61 6d 65 ng <tt>borg came
8160: 72 61 20 69 6d 61 67 65 3c 2f 74 74 3e 20 6f 72 ra image</tt> or
8170: 20 3c 74 74 3e 62 6f 72 67 20 63 61 6d 65 72 61 <tt>borg camera
8180: 20 67 72 65 79 69 6d 61 67 65 3c 2f 74 74 3e 20 greyimage</tt>
8190: 6d 75 73 74 20 62 65 20 69 6e 76 6f 6b 65 64 20 must be invoked
81a0: 77 69 74 68 69 6e 20 35 20 73 65 63 6f 6e 64 73 within 5 seconds
81b0: 2c 20 6f 74 68 65 72 77 69 73 65 20 69 6d 61 67 , otherwise imag
81c0: 65 20 61 63 71 75 69 73 69 74 69 6f 6e 20 69 73 e acquisition is
81d0: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 automatically s
81e0: 74 6f 70 70 65 64 20 61 6e 64 20 6e 65 65 64 73 topped and needs
81f0: 20 74 6f 20 62 65 20 72 65 73 74 61 72 74 65 64 to be restarted
8200: 20 77 69 74 68 20 61 6e 6f 74 68 65 72 20 3c 74 with another <t
8210: 74 3e 62 6f 72 67 20 63 61 6d 65 72 61 20 73 74 t>borg camera st
8220: 61 72 74 3c 2f 74 74 3e 20 63 6f 6d 6d 61 6e 64 art</tt> command
8230: 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 63 61 .....<tt>borg ca
8240: 6d 65 72 61 20 73 74 61 74 65 3c 2f 74 74 3e 0d mera state</tt>.
8250: 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 ... Returns t
8260: 68 65 20 63 75 72 72 65 6e 74 20 63 61 6d 65 72 he current camer
8270: 61 20 73 74 61 74 65 20 61 73 20 73 74 72 69 6e a state as strin
8280: 67 3a 20 3c 74 74 3e 75 6e 6b 6e 6f 77 6e 3c 2f g: <tt>unknown</
8290: 74 74 3e 2c 20 3c 74 74 3e 63 6c 6f 73 65 64 3c tt>, <tt>closed<
82a0: 2f 74 74 3e 2c 20 3c 74 74 3e 73 74 6f 70 70 65 /tt>, <tt>stoppe
82b0: 64 3c 2f 74 74 3e 2c 20 6f 72 20 3c 74 74 3e 63 d</tt>, or <tt>c
82c0: 61 70 74 75 72 65 3c 2f 74 74 3e 2e 0d 0a 0d 0a apture</tt>.....
82d0: 3c 74 74 3e 62 6f 72 67 20 63 61 6d 65 72 61 20 <tt>borg camera
82e0: 73 74 6f 70 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 stop</tt>....
82f0: 20 53 74 6f 70 73 20 74 68 65 20 63 61 6d 65 72 Stops the camer
8300: 61 2c 20 69 2e 65 2e 20 6e 6f 20 6d 6f 72 65 20 a, i.e. no more
8310: 69 6d 61 67 65 73 20 61 72 65 20 61 63 71 75 69 images are acqui
8320: 72 65 64 2e 20 52 65 74 75 72 6e 73 20 6e 6f 6e red. Returns non
8330: 2d 7a 65 72 6f 20 6f 6e 20 73 75 63 63 65 73 73 -zero on success
8340: 2c 20 7a 65 72 6f 20 77 68 65 6e 20 74 68 65 20 , zero when the
8350: 63 61 6d 65 72 61 20 69 73 20 61 6c 72 65 61 64 camera is alread
8360: 79 20 73 74 6f 70 70 65 64 20 6f 72 20 61 6e 20 y stopped or an
8370: 65 72 72 6f 72 20 68 61 73 20 62 65 65 6e 20 64 error has been d
8380: 65 74 65 63 74 65 64 2e 0d 0a 0d 0a 3c 74 74 3e etected.....<tt>
8390: 62 6f 72 67 20 63 61 6d 65 72 61 20 74 61 6b 65 borg camera take
83a0: 6a 70 65 67 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 jpeg</tt>....
83b0: 20 52 65 71 75 65 73 74 73 20 74 68 65 20 63 61 Requests the ca
83c0: 6d 65 72 61 20 74 6f 20 74 61 6b 65 20 61 20 4a mera to take a J
83d0: 50 45 47 20 69 6d 61 67 65 2e 20 49 74 20 69 73 PEG image. It is
83e0: 20 72 65 71 75 69 72 65 64 20 74 68 61 74 20 74 required that t
83f0: 68 65 20 63 61 6d 65 72 61 20 69 73 20 63 61 70 he camera is cap
8400: 74 75 72 69 6e 67 2c 20 69 2e 65 2e 20 3c 74 74 turing, i.e. <tt
8410: 3e 62 6f 72 67 20 63 61 6d 65 72 61 20 73 74 61 >borg camera sta
8420: 72 74 3c 2f 74 74 3e 20 68 61 73 20 62 65 65 6e rt</tt> has been
8430: 20 63 61 6c 6c 65 64 20 61 6c 72 65 61 64 79 2e called already.
8440: 20 54 68 65 20 70 6f 69 6e 74 20 69 6e 20 74 69 The point in ti
8450: 6d 65 20 77 68 65 6e 20 61 63 71 75 69 73 69 74 me when acquisit
8460: 69 6f 6e 20 6f 66 20 74 68 65 20 4a 50 45 47 20 ion of the JPEG
8470: 69 6d 61 67 65 20 73 74 61 72 74 73 20 69 73 20 image starts is
8480: 69 6e 64 69 63 61 74 65 64 20 62 79 20 74 68 65 indicated by the
8490: 20 76 69 72 74 75 61 6c 20 65 76 65 6e 74 20 3c virtual event <
84a0: 74 74 3e 3c 3c 53 68 75 74 74 65 72 3e 3e 3c 2f tt><<Shutter>></
84b0: 74 74 3e 2e 20 57 68 65 6e 20 74 68 65 20 4a 50 tt>. When the JP
84c0: 45 47 20 69 6d 61 67 65 20 69 73 20 72 65 61 64 EG image is read
84d0: 79 20 66 6f 72 20 70 72 6f 63 65 73 73 69 6e 67 y for processing
84e0: 20 74 68 65 20 76 69 72 74 75 61 6c 20 65 76 65 the virtual eve
84f0: 6e 74 20 3c 74 74 3e 3c 3c 50 69 63 74 75 72 65 nt <tt><<Picture
8500: 54 61 6b 65 6e 3e 3e 3c 2f 74 74 3e 20 69 73 20 Taken>></tt> is
8510: 73 65 6e 74 2e 20 54 68 65 20 63 6f 6d 6d 61 6e sent. The comman
8520: 64 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d d returns a non-
8530: 7a 65 72 6f 20 76 61 6c 75 65 20 77 68 65 6e 20 zero value when
8540: 4a 50 45 47 20 63 61 70 74 75 72 65 20 69 73 20 JPEG capture is
8550: 69 6e 20 70 72 6f 67 72 65 73 73 2c 20 7a 65 72 in progress, zer
8560: 6f 20 6f 6e 20 65 72 72 6f 72 2e 0d 0a 0d 0a 3c o on error.....<
8570: 68 34 3e 4e 46 43 20 52 65 6c 61 74 65 64 3c 2f h4>NFC Related</
8580: 68 34 3e 0d 0a 0d 0a 4d 61 6e 79 20 64 65 76 69 h4>....Many devi
8590: 63 65 73 20 68 61 76 65 20 68 61 72 64 77 61 72 ces have hardwar
85a0: 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20 4e 46 e support for NF
85b0: 43 20 28 4e 65 61 72 20 46 69 65 6c 64 20 43 6f C (Near Field Co
85c0: 6d 6d 75 6e 69 63 61 74 69 6f 6e 29 20 74 61 67 mmunication) tag
85d0: 73 2e 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 64 s. In order to d
85e0: 65 61 6c 20 77 69 74 68 20 73 75 63 68 20 69 74 eal with such it
85f0: 65 6d 73 2c 20 61 20 63 61 6c 6c 62 61 63 6b 20 ems, a callback
8600: 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 74 68 65 20 command for the
8610: 62 72 6f 61 64 63 61 73 74 20 3c 74 74 3e 74 6b broadcast <tt>tk
8620: 2e 74 63 6c 2e 77 69 73 68 2e 6e 66 63 3c 2f 74 .tcl.wish.nfc</t
8630: 74 3e 20 6d 75 73 74 20 62 65 20 72 65 67 69 73 t> must be regis
8640: 74 65 72 65 64 2e 20 54 68 65 20 63 61 6c 6c 62 tered. The callb
8650: 61 63 6b 27 73 20 61 72 67 75 6d 65 6e 74 73 20 ack's arguments
8660: 63 6f 6e 74 61 69 6e 20 69 6e 66 6f 72 6d 61 74 contain informat
8670: 69 6f 6e 20 6f 6e 20 74 68 65 20 4e 46 43 20 74 ion on the NFC t
8680: 61 67 20 69 6e 20 74 68 65 73 65 20 6b 65 79 73 ag in these keys
8690: 3a 0d 0a 0d 0a 3c 74 74 3e 61 6e 64 72 6f 69 64 :....<tt>android
86a0: 2e 6e 66 63 2e 65 78 74 72 61 2e 49 44 3c 2f 74 .nfc.extra.ID</t
86b0: 74 3e 0d 0a 0d 0a 20 20 20 20 54 68 65 20 74 68 t>.... The th
86c0: 65 20 62 61 73 65 36 34 20 65 6e 63 6f 64 65 64 e base64 encoded
86d0: 20 49 44 20 6f 66 20 74 68 65 20 74 61 67 2e 0d ID of the tag..
86e0: 0a 0d 0a 3c 74 74 3e 61 6e 64 72 6f 69 64 2e 6e ...<tt>android.n
86f0: 66 63 2e 65 78 74 72 61 2e 54 41 47 3c 2f 74 74 fc.extra.TAG</tt
8700: 3e 0d 0a 0d 0a 20 20 20 20 54 68 65 20 75 6e 64 >.... The und
8710: 65 72 6c 79 69 6e 67 2f 73 75 70 70 6f 72 74 65 erlying/supporte
8720: 64 20 74 65 63 68 6e 6f 6c 6f 67 69 65 73 20 6f d technologies o
8730: 66 20 74 68 65 20 74 61 67 20 61 73 20 61 20 73 f the tag as a s
8740: 74 72 69 6e 67 2e 20 43 75 72 72 65 6e 74 6c 79 tring. Currently
8750: 20 6f 6e 6c 79 20 3c 74 74 3e 61 6e 64 72 6f 69 only <tt>androi
8760: 64 2e 6e 66 63 2e 74 65 63 68 2e 4e 64 65 66 3c d.nfc.tech.Ndef<
8770: 2f 74 74 3e 20 61 6e 64 20 3c 74 74 3e 61 6e 64 /tt> and <tt>and
8780: 72 6f 69 64 2e 6e 66 63 2e 74 65 63 68 2e 4e 64 roid.nfc.tech.Nd
8790: 65 66 46 6f 72 6d 61 74 61 62 6c 65 3c 2f 74 74 efFormatable</tt
87a0: 3e 20 61 72 65 20 64 65 74 65 63 74 65 64 20 61 > are detected a
87b0: 6e 64 20 68 61 6e 64 6c 65 64 2e 0d 0a 0d 0a 3c nd handled.....<
87c0: 74 74 3e 61 6e 64 72 6f 69 64 2e 6e 66 63 2e 65 tt>android.nfc.e
87d0: 78 74 72 61 2e 4e 44 45 46 5f 4d 45 53 53 41 47 xtra.NDEF_MESSAG
87e0: 45 53 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 49 ES</tt>.... I
87f0: 66 20 70 72 65 73 65 6e 74 20 63 6f 6e 74 61 69 f present contai
8800: 6e 73 20 74 68 65 20 4e 44 45 46 20 66 6f 72 6d ns the NDEF form
8810: 61 74 74 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f atted informatio
8820: 6e 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 n contained in t
8830: 68 65 20 74 61 67 20 65 6e 63 6f 64 65 64 20 69 he tag encoded i
8840: 6e 20 62 61 73 65 36 34 2e 0d 0a 0d 0a 54 68 65 n base64.....The
8850: 20 6c 61 73 74 20 72 65 61 64 20 74 61 67 20 49 last read tag I
8860: 44 20 69 73 20 72 65 6d 65 6d 62 65 72 65 64 20 D is remembered
8870: 61 6e 64 20 63 61 6e 20 62 65 20 64 65 61 6c 74 and can be dealt
8880: 20 77 69 74 68 20 75 73 69 6e 67 20 74 68 65 73 with using thes
8890: 65 20 3c 74 74 3e 62 6f 72 67 3c 2f 74 74 3e 20 e <tt>borg</tt>
88a0: 73 75 62 63 6f 6d 6d 61 6e 64 73 3a 0d 0a 0d 0a subcommands:....
88b0: 3c 74 74 3e 62 6f 72 67 20 6e 64 65 66 72 65 61 <tt>borg ndefrea
88c0: 64 20 3c 69 3e 74 61 67 69 64 3c 2f 69 3e 20 3f d <i>tagid</i> ?
88d0: 3c 69 3e 63 61 63 68 65 64 3c 2f 69 3e 3f 3c 2f <i>cached</i>?</
88e0: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 tt>.... Retur
88f0: 6e 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 6f ns the current o
8900: 72 20 3c 74 74 3e 3c 69 3e 63 61 63 68 65 64 3c r <tt><i>cached<
8910: 2f 69 3e 3c 2f 74 74 3e 20 4e 44 45 46 20 66 6f /i></tt> NDEF fo
8920: 72 6d 61 74 74 65 64 20 69 6e 66 6f 72 6d 61 74 rmatted informat
8930: 69 6f 6e 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e ion contained in
8940: 20 74 68 65 20 74 61 67 20 67 69 76 65 6e 20 3c the tag given <
8950: 74 74 3e 3c 69 3e 74 61 67 69 64 3c 2f 69 3e 3c tt><i>tagid</i><
8960: 2f 74 74 3e 20 61 73 20 62 61 73 65 36 34 20 65 /tt> as base64 e
8970: 6e 63 6f 64 65 64 20 73 74 72 69 6e 67 2e 0d 0a ncoded string...
8980: 0d 0a 3c 74 74 3e 62 6f 72 67 20 6e 64 65 66 77 ..<tt>borg ndefw
8990: 72 69 74 65 20 3c 69 3e 74 61 67 69 64 20 6e 64 rite <i>tagid nd
89a0: 65 66 6d 73 67 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a efmsg</i></tt>..
89b0: 0d 0a 20 20 20 20 57 72 69 74 65 73 20 74 68 65 .. Writes the
89c0: 20 4e 44 45 46 20 66 6f 72 6d 61 74 74 65 64 20 NDEF formatted
89d0: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 6f 6e 65 information (one
89e0: 20 6f 72 20 6d 6f 72 65 20 4e 44 45 46 20 72 65 or more NDEF re
89f0: 63 6f 72 64 73 29 20 69 6e 20 3c 74 74 3e 3c 69 cords) in <tt><i
8a00: 3e 6e 64 65 66 6d 73 67 3c 2f 69 3e 3c 2f 74 74 >ndefmsg</i></tt
8a10: 3e 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 > which must be
8a20: 62 61 73 65 36 34 20 65 6e 63 6f 64 65 64 20 69 base64 encoded i
8a30: 6e 74 6f 20 74 68 65 20 74 61 67 20 67 69 76 65 nto the tag give
8a40: 6e 20 3c 74 74 3e 3c 69 3e 74 61 67 69 64 3c 2f n <tt><i>tagid</
8a50: 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e i></tt>.....<tt>
8a60: 62 6f 72 67 20 6e 64 65 66 66 6f 72 6d 61 74 20 borg ndefformat
8a70: 3c 69 3e 74 61 67 69 64 20 6e 64 65 66 6d 73 67 <i>tagid ndefmsg
8a80: 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 </i></tt>....
8a90: 20 46 6f 72 6d 61 74 73 20 61 6e 20 65 6d 70 74 Formats an empt
8aa0: 79 20 74 61 67 20 61 6e 64 20 6c 69 6b 65 20 3c y tag and like <
8ab0: 74 74 3e 62 6f 72 67 20 6e 64 65 66 77 72 69 74 tt>borg ndefwrit
8ac0: 65 3c 2f 74 74 3e 20 77 72 69 74 65 73 20 4e 44 e</tt> writes ND
8ad0: 45 46 20 66 6f 72 6d 61 74 74 65 64 20 69 6e 66 EF formatted inf
8ae0: 6f 72 6d 61 74 69 6f 6e 20 69 6e 74 6f 20 74 68 ormation into th
8af0: 65 20 74 61 67 2e 20 41 6e 20 75 6e 66 6f 72 6d e tag. An unform
8b00: 61 74 74 65 64 20 74 61 67 20 63 61 6e 20 62 65 atted tag can be
8b10: 20 64 65 74 65 63 74 65 64 20 69 6e 20 74 68 65 detected in the
8b20: 20 3c 74 74 3e 74 6b 2e 74 63 6c 2e 77 69 73 68 <tt>tk.tcl.wish
8b30: 2e 6e 66 63 3c 2f 74 74 3e 20 63 61 6c 6c 62 61 .nfc</tt> callba
8b40: 63 6b 20 70 72 6f 63 65 64 75 72 65 20 62 79 20 ck procedure by
8b50: 69 6e 73 70 65 63 74 69 6e 67 20 74 68 65 20 74 inspecting the t
8b60: 65 63 68 6e 6f 6c 6f 67 79 20 69 6e 66 6f 72 6d echnology inform
8b70: 61 74 69 6f 6e 3a 20 54 68 65 20 73 74 72 69 6e ation: The strin
8b80: 67 20 3c 74 74 3e 61 6e 64 72 6f 69 64 2e 6e 66 g <tt>android.nf
8b90: 63 2e 74 65 63 68 2e 4e 64 65 66 3c 2f 74 74 3e c.tech.Ndef</tt>
8ba0: 20 69 73 20 61 62 73 65 6e 74 20 62 75 74 20 74 is absent but t
8bb0: 68 65 20 73 74 72 69 6e 67 20 3c 74 74 3e 61 6e he string <tt>an
8bc0: 64 72 6f 69 64 2e 6e 66 63 2e 74 65 63 68 2e 4e droid.nfc.tech.N
8bd0: 64 65 66 46 6f 72 6d 61 74 61 62 6c 65 3c 2f 74 defFormatable</t
8be0: 74 3e 20 69 73 20 70 72 65 73 65 6e 74 2e 0d 0a t> is present...
8bf0: 0d 0a 3c 68 34 3e 4f 53 20 45 6e 76 69 72 6f 6e ..<h4>OS Environ
8c00: 6d 65 6e 74 3c 2f 68 34 3e 0d 0a 0d 0a 49 6e 66 ment</h4>....Inf
8c10: 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 ormation provide
8c20: 64 20 62 79 20 74 68 65 20 3c 61 20 68 72 65 66 d by the <a href
8c30: 3d 22 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 ="http://develop
8c40: 65 72 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 72 er.android.com/r
8c50: 65 66 65 72 65 6e 63 65 2f 61 6e 64 72 6f 69 64 eference/android
8c60: 2f 6f 73 2f 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e /os/Environment.
8c70: 68 74 6d 6c 22 3e 61 6e 64 72 6f 69 64 2e 6f 73 html">android.os
8c80: 2e 45 6e 76 69 72 6f 6e 6d 65 6e 74 3c 2f 61 3e .Environment</a>
8c90: 20 63 6c 61 73 73 2e 0d 0a 0d 0a 3c 74 74 3e 62 class.....<tt>b
8ca0: 6f 72 67 20 6f 73 65 6e 76 69 72 6f 6e 6d 65 6e org osenvironmen
8cb0: 74 20 64 61 74 61 64 69 72 3c 2f 74 74 3e 0d 0a t datadir</tt>..
8cc0: 0d 0a 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 .. Return the
8cd0: 20 75 73 65 72 20 64 61 74 61 20 64 69 72 65 63 user data direc
8ce0: 74 6f 72 79 20 28 73 65 65 20 3c 61 20 68 72 65 tory (see <a hre
8cf0: 66 3d 22 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f f="http://develo
8d00: 70 65 72 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f per.android.com/
8d10: 72 65 66 65 72 65 6e 63 65 2f 61 6e 64 72 6f 69 reference/androi
8d20: 64 2f 6f 73 2f 45 6e 76 69 72 6f 6e 6d 65 6e 74 d/os/Environment
8d30: 2e 68 74 6d 6c 23 67 65 74 44 61 74 61 44 69 72 .html#getDataDir
8d40: 65 63 74 6f 72 79 28 29 22 3e 67 65 74 44 61 74 ectory()">getDat
8d50: 61 44 69 72 65 63 74 6f 72 79 3c 2f 61 3e 29 2e aDirectory</a>).
8d60: 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 6f 73 65 ....<tt>borg ose
8d70: 6e 76 69 72 6f 6e 6d 65 6e 74 20 64 6f 77 6e 6c nvironment downl
8d80: 6f 61 64 63 61 63 68 65 64 69 72 3c 2f 74 74 3e oadcachedir</tt>
8d90: 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 20 74 .... Return t
8da0: 68 65 20 64 6f 77 6e 6c 6f 61 64 2f 63 61 63 68 he download/cach
8db0: 65 20 63 6f 6e 74 65 6e 74 20 64 69 72 65 63 74 e content direct
8dc0: 6f 72 79 20 28 73 65 65 20 3c 61 20 68 72 65 66 ory (see <a href
8dd0: 3d 22 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 ="http://develop
8de0: 65 72 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 72 er.android.com/r
8df0: 65 66 65 72 65 6e 63 65 2f 61 6e 64 72 6f 69 64 eference/android
8e00: 2f 6f 73 2f 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e /os/Environment.
8e10: 68 74 6d 6c 23 67 65 74 44 6f 77 6e 6c 6f 61 64 html#getDownload
8e20: 43 61 63 68 65 44 69 72 65 63 74 6f 72 79 28 29 CacheDirectory()
8e30: 22 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 43 61 63 ">getDownloadCac
8e40: 68 65 44 69 72 65 63 74 6f 72 79 3c 2f 61 3e 29 heDirectory</a>)
8e50: 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 6f 73 .....<tt>borg os
8e60: 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 65 78 74 65 environment exte
8e70: 72 6e 61 6c 73 74 6f 72 61 67 65 64 69 72 3c 2f rnalstoragedir</
8e80: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 tt>.... Retur
8e90: 6e 20 74 68 65 20 70 72 69 6d 61 72 79 20 73 68 n the primary sh
8ea0: 61 72 65 64 2f 65 78 74 65 72 6e 61 6c 20 73 74 ared/external st
8eb0: 6f 72 61 67 65 20 64 69 72 65 63 74 6f 72 79 20 orage directory
8ec0: 28 73 65 65 20 3c 61 20 68 72 65 66 3d 22 68 74 (see <a href="ht
8ed0: 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 61 tp://developer.a
8ee0: 6e 64 72 6f 69 64 2e 63 6f 6d 2f 72 65 66 65 72 ndroid.com/refer
8ef0: 65 6e 63 65 2f 61 6e 64 72 6f 69 64 2f 6f 73 2f ence/android/os/
8f00: 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 68 74 6d 6c Environment.html
8f10: 23 67 65 74 45 78 74 65 72 6e 61 6c 53 74 6f 72 #getExternalStor
8f20: 61 67 65 44 69 72 65 63 74 6f 72 79 28 29 22 3e ageDirectory()">
8f30: 67 65 74 45 78 74 65 72 6e 61 6c 53 74 6f 72 61 getExternalStora
8f40: 67 65 44 69 72 65 63 74 6f 72 79 3c 2f 61 3e 29 geDirectory</a>)
8f50: 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 6f 73 .....<tt>borg os
8f60: 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 65 78 74 65 environment exte
8f70: 72 6e 61 6c 73 74 6f 72 61 67 65 70 75 62 6c 69 rnalstoragepubli
8f80: 63 64 69 72 20 3f 3c 69 3e 74 79 70 65 3c 2f 69 cdir ?<i>type</i
8f90: 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 47 >?</tt>.... G
8fa0: 65 74 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 73 et a top-level s
8fb0: 68 61 72 65 64 2f 65 78 74 65 72 6e 61 6c 20 73 hared/external s
8fc0: 74 6f 72 61 67 65 20 64 69 72 65 63 74 6f 72 79 torage directory
8fd0: 20 66 6f 72 20 70 6c 61 63 69 6e 67 20 66 69 6c for placing fil
8fe0: 65 73 20 6f 66 20 61 20 70 61 72 74 69 63 75 6c es of a particul
8ff0: 61 72 20 74 79 70 65 20 28 73 65 65 20 3c 61 20 ar type (see <a
9000: 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 64 65 76 href="http://dev
9010: 65 6c 6f 70 65 72 2e 61 6e 64 72 6f 69 64 2e 63 eloper.android.c
9020: 6f 6d 2f 72 65 66 65 72 65 6e 63 65 2f 61 6e 64 om/reference/and
9030: 72 6f 69 64 2f 6f 73 2f 45 6e 76 69 72 6f 6e 6d roid/os/Environm
9040: 65 6e 74 2e 68 74 6d 6c 23 67 65 74 45 78 74 65 ent.html#getExte
9050: 72 6e 61 6c 53 74 6f 72 61 67 65 50 75 62 6c 69 rnalStoragePubli
9060: 63 44 69 72 65 63 74 6f 72 79 28 6a 61 76 61 2e cDirectory(java.
9070: 6c 61 6e 67 2e 53 74 72 69 6e 67 29 22 3e 67 65 lang.String)">ge
9080: 74 45 78 74 65 72 6e 61 6c 53 74 6f 72 61 67 65 tExternalStorage
9090: 50 75 62 6c 69 63 44 69 72 65 63 74 6f 72 79 3c PublicDirectory<
90a0: 2f 61 3e 29 2e 20 54 68 65 20 70 61 72 61 6d 65 /a>). The parame
90b0: 74 65 72 20 3c 74 74 3e 3c 69 3e 74 79 70 65 3c ter <tt><i>type<
90c0: 2f 69 3e 3c 2f 74 74 3e 20 63 61 6e 20 62 65 20 /i></tt> can be
90d0: 6f 62 74 61 69 6e 65 64 20 62 79 20 75 73 69 6e obtained by usin
90e0: 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 72 65 g information re
90f0: 74 75 72 6e 65 64 20 66 72 6f 6d 20 3c 74 74 3e turned from <tt>
9100: 62 6f 72 67 20 71 75 65 72 79 66 69 65 6c 64 73 borg queryfields
9110: 20 61 6e 64 72 6f 69 64 2e 6f 73 2e 45 6e 76 69 android.os.Envi
9120: 72 6f 6e 6d 65 6e 74 3c 2f 74 74 3e 2e 0d 0a 20 ronment</tt>...
9130: 0d 0a 3c 74 74 3e 62 6f 72 67 20 6f 73 65 6e 76 ..<tt>borg osenv
9140: 69 72 6f 6e 6d 65 6e 74 20 65 78 74 65 72 6e 61 ironment externa
9150: 6c 73 74 6f 72 61 67 65 73 74 61 74 65 3c 2f 74 lstoragestate</t
9160: 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e t>.... Return
9170: 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 s the current st
9180: 61 74 65 20 6f 66 20 74 68 65 20 70 72 69 6d 61 ate of the prima
9190: 72 79 20 73 68 61 72 65 64 2f 65 78 74 65 72 6e ry shared/extern
91a0: 61 6c 20 73 74 6f 72 61 67 65 20 6d 65 64 69 61 al storage media
91b0: 20 28 73 65 65 20 3c 61 20 68 72 65 66 3d 22 68 (see <a href="h
91c0: 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 2e ttp://developer.
91d0: 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 72 65 66 65 android.com/refe
91e0: 72 65 6e 63 65 2f 61 6e 64 72 6f 69 64 2f 6f 73 rence/android/os
91f0: 2f 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 68 74 6d /Environment.htm
9200: 6c 23 67 65 74 45 78 74 65 72 6e 61 6c 53 74 6f l#getExternalSto
9210: 72 61 67 65 53 74 61 74 65 28 29 22 3e 67 65 74 rageState()">get
9220: 45 78 74 65 72 6e 61 6c 53 74 6f 72 61 67 65 53 ExternalStorageS
9230: 74 61 74 65 3c 2f 61 3e 29 2e 0d 0a 0d 0a 3c 74 tate</a>).....<t
9240: 74 3e 62 6f 72 67 20 6f 73 65 6e 76 69 72 6f 6e t>borg osenviron
9250: 6d 65 6e 74 20 69 73 65 78 74 65 72 6e 61 6c 73 ment isexternals
9260: 74 6f 72 61 67 65 65 6d 75 6c 61 74 65 64 3c 2f torageemulated</
9270: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 tt>.... Retur
9280: 6e 73 20 77 68 65 74 68 65 72 20 74 68 65 20 70 ns whether the p
9290: 72 69 6d 61 72 79 20 73 68 61 72 65 64 2f 65 78 rimary shared/ex
92a0: 74 65 72 6e 61 6c 20 73 74 6f 72 61 67 65 20 6d ternal storage m
92b0: 65 64 69 61 20 69 73 20 65 6d 75 6c 61 74 65 64 edia is emulated
92c0: 20 28 73 65 65 20 3c 61 20 68 72 65 66 3d 22 68 (see <a href="h
92d0: 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 2e ttp://developer.
92e0: 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 72 65 66 65 android.com/refe
92f0: 72 65 6e 63 65 2f 61 6e 64 72 6f 69 64 2f 6f 73 rence/android/os
9300: 2f 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 68 74 6d /Environment.htm
9310: 6c 23 69 73 45 78 74 65 72 6e 61 6c 53 74 6f 72 l#isExternalStor
9320: 61 67 65 45 6d 75 6c 61 74 65 64 28 29 22 3e 69 ageEmulated()">i
9330: 73 45 78 74 65 72 6e 61 6c 53 74 6f 72 61 67 65 sExternalStorage
9340: 45 6d 75 6c 61 74 65 64 3c 2f 61 3e 29 2e 0d 0a Emulated</a>)...
9350: 0d 0a 3c 74 74 3e 62 6f 72 67 20 6f 73 65 6e 76 ..<tt>borg osenv
9360: 69 72 6f 6e 6d 65 6e 74 20 69 73 65 78 74 65 72 ironment isexter
9370: 6e 61 6c 73 74 6f 72 61 67 65 72 65 6d 6f 76 61 nalstorageremova
9380: 62 6c 65 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 ble</tt>....
9390: 52 65 74 75 72 6e 73 20 77 68 65 74 68 65 72 20 Returns whether
93a0: 74 68 65 20 70 72 69 6d 61 72 79 20 73 68 61 72 the primary shar
93b0: 65 64 2f 65 78 74 65 72 6e 61 6c 20 73 74 6f 72 ed/external stor
93c0: 61 67 65 20 6d 65 64 69 61 20 69 73 20 70 68 79 age media is phy
93d0: 73 69 63 61 6c 6c 79 20 72 65 6d 6f 76 61 62 6c sically removabl
93e0: 65 20 28 73 65 65 20 3c 61 20 68 72 65 66 3d 22 e (see <a href="
93f0: 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 http://developer
9400: 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 72 65 66 .android.com/ref
9410: 65 72 65 6e 63 65 2f 61 6e 64 72 6f 69 64 2f 6f erence/android/o
9420: 73 2f 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 68 74 s/Environment.ht
9430: 6d 6c 23 69 73 45 78 74 65 72 6e 61 6c 53 74 6f ml#isExternalSto
9440: 72 61 67 65 52 65 6d 6f 76 61 62 6c 65 28 29 22 rageRemovable()"
9450: 3e 69 73 45 78 74 65 72 6e 61 6c 53 74 6f 72 61 >isExternalStora
9460: 67 65 52 65 6d 6f 76 61 62 6c 65 3c 2f 61 3e 29 geRemovable</a>)
9470: 2e 0d 0a 20 0d 0a 3c 74 74 3e 62 6f 72 67 20 6f ... ..<tt>borg o
9480: 73 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 72 6f 6f senvironment roo
9490: 74 64 69 72 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 tdir</tt>....
94a0: 20 52 65 74 75 72 6e 20 72 6f 6f 74 20 6f 66 20 Return root of
94b0: 74 68 65 20 22 73 79 73 74 65 6d 22 20 70 61 72 the "system" par
94c0: 74 69 74 69 6f 6e 20 68 6f 6c 64 69 6e 67 20 74 tition holding t
94d0: 68 65 20 63 6f 72 65 20 41 6e 64 72 6f 69 64 20 he core Android
94e0: 4f 53 20 28 73 65 65 20 3c 61 20 68 72 65 66 3d OS (see <a href=
94f0: 22 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 "http://develope
9500: 72 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 72 65 r.android.com/re
9510: 66 65 72 65 6e 63 65 2f 61 6e 64 72 6f 69 64 2f ference/android/
9520: 6f 73 2f 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 68 os/Environment.h
9530: 74 6d 6c 23 67 65 74 52 6f 6f 74 44 69 72 65 63 tml#getRootDirec
9540: 74 6f 72 79 28 29 22 3e 67 65 74 52 6f 6f 74 44 tory()">getRootD
9550: 69 72 65 63 74 6f 72 79 3c 2f 61 3e 29 2e 0d 0a irectory</a>)...
9560: 0d 0a 3c 68 34 3e 53 68 61 72 65 64 20 50 72 65 ..<h4>Shared Pre
9570: 66 65 72 65 6e 63 65 73 3c 2f 68 34 3e 0d 0a 0d ferences</h4>...
9580: 0a 41 6e 20 69 6e 74 65 72 66 61 63 65 20 74 6f .An interface to
9590: 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a <a href="https:
95a0: 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 61 6e 64 72 //developer.andr
95b0: 6f 69 64 2e 63 6f 6d 2f 72 65 66 65 72 65 6e 63 oid.com/referenc
95c0: 65 2f 61 6e 64 72 6f 69 64 2f 63 6f 6e 74 65 6e e/android/conten
95d0: 74 2f 53 68 61 72 65 64 50 72 65 66 65 72 65 6e t/SharedPreferen
95e0: 63 65 73 2e 68 74 6d 6c 22 3e 61 6e 64 72 6f 69 ces.html">androi
95f0: 64 2e 63 6f 6e 74 65 6e 74 2e 53 68 61 72 65 64 d.content.Shared
9600: 50 72 65 66 65 72 65 6e 63 65 73 3c 2f 61 3e 20 Preferences</a>
9610: 69 73 20 70 72 6f 76 69 64 65 64 20 75 73 69 6e is provided usin
9620: 67 20 74 68 65 20 3c 74 74 3e 62 6f 72 67 20 73 g the <tt>borg s
9630: 68 61 72 65 64 70 72 65 66 65 72 65 6e 63 65 73 haredpreferences
9640: 3c 2f 74 74 3e 20 73 75 62 63 6f 6d 6d 61 6e 64 </tt> subcommand
9650: 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 6f . This allows to
9660: 20 6c 6f 61 64 2f 73 74 6f 72 65 20 74 79 70 65 load/store type
9670: 64 20 76 61 6c 75 65 73 20 6f 66 20 61 6e 20 61 d values of an a
9680: 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 20 61 20 pplication in a
9690: 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 20 key-value store
96a0: 77 68 69 63 68 20 64 6f 65 73 20 6e 6f 74 20 72 which does not r
96b0: 65 71 75 69 72 65 20 65 78 74 72 61 20 66 69 6c equire extra fil
96c0: 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0d 0a e permissions...
96d0: 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 68 61 72 65 ..<tt>borg share
96e0: 64 70 72 65 66 65 72 65 6e 63 65 73 20 3c 69 3e dpreferences <i>
96f0: 66 69 6c 65 3c 2f 69 3e 20 67 65 74 62 6f 6f 6c file</i> getbool
9700: 65 61 6e 20 3c 69 3e 6b 65 79 20 64 65 66 61 75 ean <i>key defau
9710: 6c 74 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 lt</i></tt>....
9720: 20 20 20 52 65 74 75 72 6e 20 61 20 62 6f 6f 6c Return a bool
9730: 65 61 6e 20 76 61 6c 75 65 20 28 75 73 69 6e 67 ean value (using
9740: 20 3c 74 74 3e 3c 69 3e 64 65 66 61 75 6c 74 3c <tt><i>default<
9750: 2f 69 3e 3c 2f 74 74 3e 20 69 66 20 6e 6f 74 20 /i></tt> if not
9760: 70 72 65 73 65 6e 74 29 20 66 72 6f 6d 20 74 68 present) from th
9770: 65 20 73 68 61 72 65 64 20 70 72 65 66 65 72 65 e shared prefere
9780: 6e 63 65 20 66 69 6c 65 20 69 64 65 6e 74 69 66 nce file identif
9790: 69 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e 66 69 ied by <tt><i>fi
97a0: 6c 65 3c 2f 69 3e 3c 2f 74 74 3e 20 73 74 6f 72 le</i></tt> stor
97b0: 65 64 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d ed under the nam
97c0: 65 20 3c 74 74 3e 3c 69 3e 6b 65 79 3c 2f 69 3e e <tt><i>key</i>
97d0: 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f </tt>.....<tt>bo
97e0: 72 67 20 73 68 61 72 65 64 70 72 65 66 65 72 65 rg sharedprefere
97f0: 6e 63 65 73 20 3c 69 3e 66 69 6c 65 3c 2f 69 3e nces <i>file</i>
9800: 20 67 65 74 66 6c 6f 61 74 20 3c 69 3e 6b 65 79 getfloat <i>key
9810: 20 64 65 66 61 75 6c 74 3c 2f 69 3e 3c 2f 74 74 default</i></tt
9820: 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 20 >.... Return
9830: 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 a floating point
9840: 20 76 61 6c 75 65 20 28 75 73 69 6e 67 20 3c 74 value (using <t
9850: 74 3e 3c 69 3e 64 65 66 61 75 6c 74 3c 2f 69 3e t><i>default</i>
9860: 3c 2f 74 74 3e 20 69 66 20 6e 6f 74 20 70 72 65 </tt> if not pre
9870: 73 65 6e 74 29 20 66 72 6f 6d 20 74 68 65 20 73 sent) from the s
9880: 68 61 72 65 64 20 70 72 65 66 65 72 65 6e 63 65 hared preference
9890: 20 66 69 6c 65 20 69 64 65 6e 74 69 66 69 65 64 file identified
98a0: 20 62 79 20 3c 74 74 3e 3c 69 3e 66 69 6c 65 3c by <tt><i>file<
98b0: 2f 69 3e 3c 2f 74 74 3e 20 73 74 6f 72 65 64 20 /i></tt> stored
98c0: 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c under the name <
98d0: 74 74 3e 3c 69 3e 6b 65 79 3c 2f 69 3e 3c 2f 74 tt><i>key</i></t
98e0: 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 t>.....<tt>borg
98f0: 73 68 61 72 65 64 70 72 65 66 65 72 65 6e 63 65 sharedpreference
9900: 73 20 3c 69 3e 66 69 6c 65 3c 2f 69 3e 20 67 65 s <i>file</i> ge
9910: 74 69 6e 74 20 3c 69 3e 6b 65 79 20 64 65 66 61 tint <i>key defa
9920: 75 6c 74 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a ult</i></tt>....
9930: 20 20 20 20 52 65 74 75 72 6e 20 61 6e 20 69 6e Return an in
9940: 74 65 67 65 72 20 76 61 6c 75 65 20 28 75 73 69 teger value (usi
9950: 6e 67 20 3c 74 74 3e 3c 69 3e 64 65 66 61 75 6c ng <tt><i>defaul
9960: 74 3c 2f 69 3e 3c 2f 74 74 3e 20 69 66 20 6e 6f t</i></tt> if no
9970: 74 20 70 72 65 73 65 6e 74 29 20 66 72 6f 6d 20 t present) from
9980: 74 68 65 20 73 68 61 72 65 64 20 70 72 65 66 65 the shared prefe
9990: 72 65 6e 63 65 20 66 69 6c 65 20 69 64 65 6e 74 rence file ident
99a0: 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e ified by <tt><i>
99b0: 66 69 6c 65 3c 2f 69 3e 3c 2f 74 74 3e 20 73 74 file</i></tt> st
99c0: 6f 72 65 64 20 75 6e 64 65 72 20 74 68 65 20 6e ored under the n
99d0: 61 6d 65 20 3c 74 74 3e 3c 69 3e 6b 65 79 3c 2f ame <tt><i>key</
99e0: 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e i></tt>.....<tt>
99f0: 62 6f 72 67 20 73 68 61 72 65 64 70 72 65 66 65 borg sharedprefe
9a00: 72 65 6e 63 65 73 20 3c 69 3e 66 69 6c 65 3c 2f rences <i>file</
9a10: 69 3e 20 67 65 74 6c 6f 6e 67 20 3c 69 3e 6b 65 i> getlong <i>ke
9a20: 79 20 64 65 66 61 75 6c 74 3c 2f 69 3e 3c 2f 74 y default</i></t
9a30: 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e t>.... Return
9a40: 20 61 20 36 34 20 62 69 74 20 69 6e 74 65 67 65 a 64 bit intege
9a50: 72 20 76 61 6c 75 65 20 28 75 73 69 6e 67 20 3c r value (using <
9a60: 74 74 3e 3c 69 3e 64 65 66 61 75 6c 74 3c 2f 69 tt><i>default</i
9a70: 3e 3c 2f 74 74 3e 20 69 66 20 6e 6f 74 20 70 72 ></tt> if not pr
9a80: 65 73 65 6e 74 29 20 66 72 6f 6d 20 74 68 65 20 esent) from the
9a90: 73 68 61 72 65 64 20 70 72 65 66 65 72 65 6e 63 shared preferenc
9aa0: 65 20 66 69 6c 65 20 69 64 65 6e 74 69 66 69 65 e file identifie
9ab0: 64 20 62 79 20 3c 74 74 3e 3c 69 3e 66 69 6c 65 d by <tt><i>file
9ac0: 3c 2f 69 3e 3c 2f 74 74 3e 20 73 74 6f 72 65 64 </i></tt> stored
9ad0: 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 under the name
9ae0: 3c 74 74 3e 3c 69 3e 6b 65 79 3c 2f 69 3e 3c 2f <tt><i>key</i></
9af0: 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 tt>.....<tt>borg
9b00: 20 73 68 61 72 65 64 70 72 65 66 65 72 65 6e 63 sharedpreferenc
9b10: 65 73 20 3c 69 3e 66 69 6c 65 3c 2f 69 3e 20 67 es <i>file</i> g
9b20: 65 74 73 74 72 69 6e 67 20 3c 69 3e 6b 65 79 20 etstring <i>key
9b30: 64 65 66 61 75 6c 74 3c 2f 69 3e 3c 2f 74 74 3e default</i></tt>
9b40: 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 20 61 .... Return a
9b50: 20 73 74 72 69 6e 67 20 76 61 6c 75 65 20 28 75 string value (u
9b60: 73 69 6e 67 20 3c 74 74 3e 3c 69 3e 64 65 66 61 sing <tt><i>defa
9b70: 75 6c 74 3c 2f 69 3e 3c 2f 74 74 3e 20 69 66 20 ult</i></tt> if
9b80: 6e 6f 74 20 70 72 65 73 65 6e 74 29 20 66 72 6f not present) fro
9b90: 6d 20 74 68 65 20 73 68 61 72 65 64 20 70 72 65 m the shared pre
9ba0: 66 65 72 65 6e 63 65 20 66 69 6c 65 20 69 64 65 ference file ide
9bb0: 6e 74 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c ntified by <tt><
9bc0: 69 3e 66 69 6c 65 3c 2f 69 3e 3c 2f 74 74 3e 20 i>file</i></tt>
9bd0: 73 74 6f 72 65 64 20 75 6e 64 65 72 20 74 68 65 stored under the
9be0: 20 6e 61 6d 65 20 3c 74 74 3e 3c 69 3e 6b 65 79 name <tt><i>key
9bf0: 3c 2f 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 </i></tt>.....<t
9c00: 74 3e 62 6f 72 67 20 73 68 61 72 65 64 70 72 65 t>borg sharedpre
9c10: 66 65 72 65 6e 63 65 73 20 3c 69 3e 66 69 6c 65 ferences <i>file
9c20: 3c 2f 69 3e 20 73 65 74 62 6f 6f 6c 65 61 6e 20 </i> setboolean
9c30: 3c 69 3e 6b 65 79 20 76 61 6c 75 65 3c 2f 69 3e <i>key value</i>
9c40: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 53 74 6f </tt>.... Sto
9c50: 72 65 20 74 68 65 20 62 6f 6f 6c 65 61 6e 20 3c re the boolean <
9c60: 74 74 3e 3c 69 3e 76 61 6c 75 65 3c 2f 69 3e 3c tt><i>value</i><
9c70: 2f 74 74 3e 20 69 6e 74 6f 20 74 68 65 20 73 68 /tt> into the sh
9c80: 61 72 65 64 20 70 72 65 66 65 72 65 6e 63 65 20 ared preference
9c90: 66 69 6c 65 20 69 64 65 6e 74 69 66 69 65 64 20 file identified
9ca0: 62 79 20 3c 74 74 3e 3c 69 3e 66 69 6c 65 3c 2f by <tt><i>file</
9cb0: 69 3e 3c 2f 74 74 3e 20 75 6e 64 65 72 20 74 68 i></tt> under th
9cc0: 65 20 6e 61 6d 65 20 3c 74 74 3e 3c 69 3e 6b 65 e name <tt><i>ke
9cd0: 79 3c 2f 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c y</i></tt>.....<
9ce0: 74 74 3e 62 6f 72 67 20 73 68 61 72 65 64 70 72 tt>borg sharedpr
9cf0: 65 66 65 72 65 6e 63 65 73 20 3c 69 3e 66 69 6c eferences <i>fil
9d00: 65 3c 2f 69 3e 20 73 65 74 66 6c 6f 61 74 20 3c e</i> setfloat <
9d10: 69 3e 6b 65 79 20 76 61 6c 75 65 3c 2f 69 3e 3c i>key value</i><
9d20: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 53 74 6f 72 /tt>.... Stor
9d30: 65 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 e the floating p
9d40: 6f 69 6e 74 20 3c 74 74 3e 3c 69 3e 76 61 6c 75 oint <tt><i>valu
9d50: 65 3c 2f 69 3e 3c 2f 74 74 3e 20 69 6e 74 6f 20 e</i></tt> into
9d60: 74 68 65 20 73 68 61 72 65 64 20 70 72 65 66 65 the shared prefe
9d70: 72 65 6e 63 65 20 66 69 6c 65 20 69 64 65 6e 74 rence file ident
9d80: 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e ified by <tt><i>
9d90: 66 69 6c 65 3c 2f 69 3e 3c 2f 74 74 3e 20 75 6e file</i></tt> un
9da0: 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 74 74 der the name <tt
9db0: 3e 3c 69 3e 6b 65 79 3c 2f 69 3e 3c 2f 74 74 3e ><i>key</i></tt>
9dc0: 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 68 .....<tt>borg sh
9dd0: 61 72 65 64 70 72 65 66 65 72 65 6e 63 65 73 20 aredpreferences
9de0: 3c 69 3e 66 69 6c 65 3c 2f 69 3e 20 73 65 74 69 <i>file</i> seti
9df0: 6e 74 20 3c 69 3e 6b 65 79 20 76 61 6c 75 65 3c nt <i>key value<
9e00: 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 /i></tt>....
9e10: 53 74 6f 72 65 20 74 68 65 20 69 6e 74 65 67 65 Store the intege
9e20: 72 20 3c 74 74 3e 3c 69 3e 76 61 6c 75 65 3c 2f r <tt><i>value</
9e30: 69 3e 3c 2f 74 74 3e 20 69 6e 74 6f 20 74 68 65 i></tt> into the
9e40: 20 73 68 61 72 65 64 20 70 72 65 66 65 72 65 6e shared preferen
9e50: 63 65 20 66 69 6c 65 20 69 64 65 6e 74 69 66 69 ce file identifi
9e60: 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e 66 69 6c ed by <tt><i>fil
9e70: 65 3c 2f 69 3e 3c 2f 74 74 3e 20 75 6e 64 65 72 e</i></tt> under
9e80: 20 74 68 65 20 6e 61 6d 65 20 3c 74 74 3e 3c 69 the name <tt><i
9e90: 3e 6b 65 79 3c 2f 69 3e 3c 2f 74 74 3e 2e 0d 0a >key</i></tt>...
9ea0: 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 68 61 72 65 ..<tt>borg share
9eb0: 64 70 72 65 66 65 72 65 6e 63 65 73 20 3c 69 3e dpreferences <i>
9ec0: 66 69 6c 65 3c 2f 69 3e 20 73 65 74 6c 6f 6e 67 file</i> setlong
9ed0: 20 3c 69 3e 6b 65 79 20 76 61 6c 75 65 3c 2f 69 <i>key value</i
9ee0: 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 53 74 ></tt>.... St
9ef0: 6f 72 65 20 74 68 65 20 36 34 20 62 69 74 20 69 ore the 64 bit i
9f00: 6e 74 65 67 65 72 20 3c 74 74 3e 3c 69 3e 76 61 nteger <tt><i>va
9f10: 6c 75 65 3c 2f 69 3e 3c 2f 74 74 3e 20 69 6e 74 lue</i></tt> int
9f20: 6f 20 74 68 65 20 73 68 61 72 65 64 20 70 72 65 o the shared pre
9f30: 66 65 72 65 6e 63 65 20 66 69 6c 65 20 69 64 65 ference file ide
9f40: 6e 74 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c ntified by <tt><
9f50: 69 3e 66 69 6c 65 3c 2f 69 3e 3c 2f 74 74 3e 20 i>file</i></tt>
9f60: 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c under the name <
9f70: 74 74 3e 3c 69 3e 6b 65 79 3c 2f 69 3e 3c 2f 74 tt><i>key</i></t
9f80: 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 t>.....<tt>borg
9f90: 73 68 61 72 65 64 70 72 65 66 65 72 65 6e 63 65 sharedpreference
9fa0: 73 20 3c 69 3e 66 69 6c 65 3c 2f 69 3e 20 73 65 s <i>file</i> se
9fb0: 74 73 74 72 69 6e 67 20 3c 69 3e 6b 65 79 20 76 tstring <i>key v
9fc0: 61 6c 75 65 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d alue</i></tt>...
9fd0: 0a 20 20 20 20 53 74 6f 72 65 20 74 68 65 20 73 . Store the s
9fe0: 74 72 69 6e 67 20 3c 74 74 3e 3c 69 3e 76 61 6c tring <tt><i>val
9ff0: 75 65 3c 2f 69 3e 3c 2f 74 74 3e 20 69 6e 74 6f ue</i></tt> into
a000: 20 74 68 65 20 73 68 61 72 65 64 20 70 72 65 66 the shared pref
a010: 65 72 65 6e 63 65 20 66 69 6c 65 20 69 64 65 6e erence file iden
a020: 74 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c 69 tified by <tt><i
a030: 3e 66 69 6c 65 3c 2f 69 3e 3c 2f 74 74 3e 20 75 >file</i></tt> u
a040: 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 74 nder the name <t
a050: 74 3e 3c 69 3e 6b 65 79 3c 2f 69 3e 3c 2f 74 74 t><i>key</i></tt
a060: 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 >.....<tt>borg s
a070: 68 61 72 65 64 70 72 65 66 65 72 65 6e 63 65 73 haredpreferences
a080: 20 3c 69 3e 66 69 6c 65 3c 2f 69 3e 20 72 65 6d <i>file</i> rem
a090: 6f 76 65 20 3c 69 3e 6b 65 79 3c 2f 69 3e 3c 2f ove <i>key</i></
a0a0: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 6d 6f 76 tt>.... Remov
a0b0: 65 20 74 68 65 20 76 61 6c 75 65 20 73 74 6f 72 e the value stor
a0c0: 65 64 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d ed under the nam
a0d0: 65 20 3c 74 74 3e 3c 69 3e 6b 65 79 3c 2f 69 3e e <tt><i>key</i>
a0e0: 3c 2f 74 74 3e 20 66 72 6f 6d 20 74 68 65 20 73 </tt> from the s
a0f0: 68 61 72 65 64 20 70 72 65 66 65 72 65 6e 63 65 hared preference
a100: 20 66 69 6c 65 20 69 64 65 6e 74 69 66 69 65 64 file identified
a110: 20 62 79 20 3c 74 74 3e 3c 69 3e 66 69 6c 65 3c by <tt><i>file<
a120: 2f 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 /i></tt>.....<tt
a130: 3e 62 6f 72 67 20 73 68 61 72 65 64 70 72 65 66 >borg sharedpref
a140: 65 72 65 6e 63 65 73 20 3c 69 3e 66 69 6c 65 3c erences <i>file<
a150: 2f 69 3e 20 63 6c 65 61 72 3c 2f 74 74 3e 0d 0a /i> clear</tt>..
a160: 0d 0a 20 20 20 20 52 65 6d 6f 76 65 20 61 6c 6c .. Remove all
a170: 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 69 72 73 key-value pairs
a180: 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 73 stored in the s
a190: 68 61 72 65 64 20 70 72 65 66 65 72 65 6e 63 65 hared preference
a1a0: 20 66 69 6c 65 20 69 64 65 6e 74 69 66 69 65 64 file identified
a1b0: 20 62 79 20 3c 74 74 3e 3c 69 3e 66 69 6c 65 3c by <tt><i>file<
a1c0: 2f 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 /i></tt>.....<tt
a1d0: 3e 62 6f 72 67 20 73 68 61 72 65 64 70 72 65 66 >borg sharedpref
a1e0: 65 72 65 6e 63 65 73 20 3c 69 3e 66 69 6c 65 3c erences <i>file<
a1f0: 2f 69 3e 20 61 6c 6c 3c 2f 74 74 3e 0d 0a 0d 0a /i> all</tt>....
a200: 20 20 20 20 52 65 74 75 72 6e 20 61 20 54 63 6c Return a Tcl
a210: 20 6c 69 73 74 20 73 75 69 74 61 62 6c 65 20 66 list suitable f
a220: 6f 72 20 3c 74 74 3e 61 72 72 61 79 20 73 65 74 or <tt>array set
a230: 3c 2f 74 74 3e 20 6f 66 20 61 6c 6c 20 6b 65 79 </tt> of all key
a240: 2d 76 61 6c 75 65 20 70 61 69 72 73 20 66 72 6f -value pairs fro
a250: 6d 20 74 68 65 20 73 68 61 72 65 64 20 70 72 65 m the shared pre
a260: 66 65 72 65 6e 63 65 20 66 69 6c 65 20 69 64 65 ference file ide
a270: 6e 74 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c ntified by <tt><
a280: 69 3e 66 69 6c 65 3c 2f 69 3e 3c 2f 74 74 3e 2e i>file</i></tt>.
a290: 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 68 61 ....<tt>borg sha
a2a0: 72 65 64 70 72 65 66 65 72 65 6e 63 65 73 20 3c redpreferences <
a2b0: 69 3e 66 69 6c 65 3c 2f 69 3e 20 61 6c 6c 74 79 i>file</i> allty
a2c0: 70 65 73 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 pes</tt>....
a2d0: 52 65 74 75 72 6e 20 61 20 54 63 6c 20 6c 69 73 Return a Tcl lis
a2e0: 74 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 3c t suitable for <
a2f0: 74 74 3e 61 72 72 61 79 20 73 65 74 3c 2f 74 74 tt>array set</tt
a300: 3e 20 6f 66 20 61 6c 6c 20 6b 65 79 73 20 61 6e > of all keys an
a310: 64 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69 d their respecti
a320: 76 65 20 76 61 6c 75 65 20 74 79 70 65 73 20 66 ve value types f
a330: 72 6f 6d 20 74 68 65 20 73 68 61 72 65 64 20 70 rom the shared p
a340: 72 65 66 65 72 65 6e 63 65 20 66 69 6c 65 20 69 reference file i
a350: 64 65 6e 74 69 66 69 65 64 20 62 79 20 3c 74 74 dentified by <tt
a360: 3e 3c 69 3e 66 69 6c 65 3c 2f 69 3e 3c 2f 74 74 ><i>file</i></tt
a370: 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 73 >.....<tt>borg s
a380: 68 61 72 65 64 70 72 65 66 65 72 65 6e 63 65 73 haredpreferences
a390: 20 3c 69 3e 66 69 6c 65 3c 2f 69 3e 20 6b 65 79 <i>file</i> key
a3a0: 73 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 s</tt>.... Re
a3b0: 74 75 72 6e 20 61 20 54 63 6c 20 6c 69 73 74 20 turn a Tcl list
a3c0: 6f 66 20 61 6c 6c 20 6b 65 79 73 20 66 72 6f 6d of all keys from
a3d0: 20 74 68 65 20 73 68 61 72 65 64 20 70 72 65 66 the shared pref
a3e0: 65 72 65 6e 63 65 20 66 69 6c 65 20 69 64 65 6e erence file iden
a3f0: 74 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c 69 tified by <tt><i
a400: 3e 66 69 6c 65 3c 2f 69 3e 3c 2f 74 74 3e 2e 0d >file</i></tt>..
a410: 0a 0d 0a 3c 68 34 3e 47 65 6e 65 72 61 6c 3c 2f ...<h4>General</
a420: 68 34 3e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 h4>....<tt>borg
a430: 77 69 74 68 64 72 61 77 3c 2f 74 74 3e 0d 0a 0d withdraw</tt>...
a440: 0a 20 20 20 20 48 69 64 65 73 20 74 68 65 20 61 . Hides the a
a450: 70 70 6c 69 63 61 74 69 6f 6e 20 77 69 6e 64 6f pplication windo
a460: 77 20 62 79 20 70 75 74 74 69 6e 67 20 69 74 20 w by putting it
a470: 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 41 6e to the end of An
a480: 64 72 6f 69 64 27 73 20 61 63 74 69 76 69 74 79 droid's activity
a490: 20 73 74 61 63 6b 2e 20 43 61 6e 20 62 65 20 75 stack. Can be u
a4a0: 73 65 66 75 6c 20 77 68 65 6e 20 62 6f 75 6e 64 seful when bound
a4b0: 20 74 6f 20 74 68 65 20 42 61 63 6b 20 6b 65 79 to the Back key
a4c0: 20 28 3c 74 74 3e 3c 4b 65 79 2d 42 72 65 61 6b (<tt><Key-Break
a4d0: 3e 3c 2f 74 74 3e 20 69 6e 20 41 6e 64 72 6f 57 ></tt> in AndroW
a4e0: 69 73 68 29 2e 20 54 68 65 72 65 27 73 20 6e 6f ish). There's no
a4f0: 20 6f 70 70 6f 73 69 74 65 20 63 6f 6d 6d 61 6e opposite comman
a500: 64 2c 20 69 2e 65 2e 20 74 68 65 20 61 70 70 6c d, i.e. the appl
a510: 69 63 61 74 69 6f 6e 20 63 61 6e 20 62 65 20 62 ication can be b
a520: 72 6f 75 67 68 74 20 74 6f 20 66 72 6f 6e 74 20 rought to front
a530: 61 67 61 69 6e 20 6f 6e 6c 79 20 62 79 20 75 73 again only by us
a540: 65 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 2e 0d er interaction..
a550: 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 62 72 69 67 ...<tt>borg brig
a560: 68 74 6e 65 73 73 20 3f 3c 69 3e 70 65 72 63 65 htness ?<i>perce
a570: 6e 74 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a nt</i>?</tt>....
a580: 20 20 20 20 53 65 74 73 20 6f 72 20 67 65 74 73 Sets or gets
a590: 20 74 68 65 20 73 63 72 65 65 6e 20 62 72 69 67 the screen brig
a5a0: 68 74 6e 65 73 73 2e 20 49 66 20 74 68 65 20 70 htness. If the p
a5b0: 65 72 63 65 6e 74 61 67 65 20 69 73 20 6e 65 67 ercentage is neg
a5c0: 61 74 69 76 65 2c 20 74 68 65 20 64 65 66 61 75 ative, the defau
a5d0: 6c 74 20 76 61 6c 75 65 20 69 73 20 72 65 73 74 lt value is rest
a5e0: 6f 72 65 64 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 ored.....<tt>bor
a5f0: 67 20 6f 6e 69 6e 74 65 6e 74 20 3f 3c 69 3e 63 g onintent ?<i>c
a600: 6f 6d 6d 61 6e 64 3c 2f 69 3e 3f 3c 2f 74 74 3e ommand</i>?</tt>
a610: 0d 0a 0d 0a 20 20 20 20 53 65 74 73 20 6f 72 20 .... Sets or
a620: 67 65 74 73 20 74 68 65 20 63 61 6c 6c 62 61 63 gets the callbac
a630: 6b 20 3c 74 74 3e 3c 69 3e 63 6f 6d 6d 61 6e 64 k <tt><i>command
a640: 3c 2f 69 3e 3c 2f 74 74 3e 20 77 68 69 63 68 20 </i></tt> which
a650: 69 73 20 65 76 61 6c 75 61 74 65 64 20 77 68 65 is evaluated whe
a660: 6e 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f n the applicatio
a670: 6e 20 72 65 63 65 69 76 65 64 20 61 6e 20 41 6e n received an An
a680: 64 72 6f 69 64 20 69 6e 74 65 6e 74 2e 20 57 68 droid intent. Wh
a690: 65 6e 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 en evaluating th
a6a0: 61 74 20 63 6f 6d 6d 61 6e 64 2c 20 74 68 65 20 at command, the
a6b0: 70 61 72 61 6d 65 74 65 72 73 20 61 63 74 69 6f parameters actio
a6c0: 6e 20 6e 61 6d 65 2c 20 55 52 49 2c 20 4d 49 4d n name, URI, MIM
a6d0: 45 20 74 79 70 65 2c 20 63 61 74 65 67 6f 72 69 E type, categori
a6e0: 65 73 2c 20 61 72 67 75 6d 65 6e 74 73 20 66 72 es, arguments fr
a6f0: 6f 6d 20 74 68 65 20 69 6e 74 65 6e 74 20 61 72 om the intent ar
a700: 65 20 61 70 70 65 6e 64 65 64 2e 20 57 68 65 6e e appended. When
a710: 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 69 73 the callback is
a720: 20 73 65 74 20 66 6f 72 20 74 68 65 20 66 69 72 set for the fir
a730: 73 74 20 74 69 6d 65 2c 20 69 74 20 67 65 74 73 st time, it gets
a740: 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 65 76 61 immediately eva
a750: 6c 75 61 74 65 64 20 77 69 74 68 20 74 68 65 20 luated with the
a760: 70 61 72 61 6d 65 74 65 72 73 20 6f 66 20 74 68 parameters of th
a770: 65 20 63 75 72 72 65 6e 74 20 28 73 74 61 72 74 e current (start
a780: 75 70 29 20 69 6e 74 65 6e 74 2e 0d 0a 0d 0a 3c up) intent.....<
a790: 74 74 3e 62 6f 72 67 20 71 75 65 72 79 61 63 74 tt>borg queryact
a7a0: 69 76 69 74 65 73 20 3c 69 3e 61 63 74 69 6f 6e ivites <i>action
a7b0: 3c 2f 69 3e 20 3f 3c 69 3e 75 72 69 20 74 79 70 </i> ?<i>uri typ
a7c0: 65 20 63 61 74 65 67 6f 72 69 65 73 20 63 6f 6d e categories com
a7d0: 70 6f 6e 65 6e 74 3c 2f 69 3e 3f 3c 2f 74 74 3e ponent</i>?</tt>
a7e0: 0d 0a 0d 0a 20 20 20 20 51 75 65 72 69 65 73 20 .... Queries
a7f0: 41 6e 64 72 6f 69 64 27 73 20 61 63 74 69 76 69 Android's activi
a800: 74 79 20 6d 61 6e 61 67 65 72 20 66 6f 72 20 61 ty manager for a
a810: 63 74 69 76 69 74 69 65 73 20 6f 6e 20 74 68 65 ctivities on the
a820: 20 67 69 76 65 6e 20 69 6e 74 65 6e 74 20 70 61 given intent pa
a830: 72 61 6d 65 74 65 72 73 2e 20 3c 74 74 3e 3c 69 rameters. <tt><i
a840: 3e 63 61 74 65 67 6f 72 69 65 73 3c 2f 69 3e 3c >categories</i><
a850: 2f 74 74 3e 20 61 6e 64 20 3c 74 74 3e 3c 69 3e /tt> and <tt><i>
a860: 63 6f 6d 70 6f 6e 65 6e 74 3c 2f 69 3e 3c 2f 74 component</i></t
a870: 74 3e 20 61 72 65 20 6f 70 74 69 6f 6e 61 6c 20 t> are optional
a880: 6c 69 73 74 73 2e 20 54 68 65 20 6c 61 74 74 65 lists. The latte
a890: 72 20 77 68 65 6e 20 6e 6f 6e 2d 65 6d 70 74 79 r when non-empty
a8a0: 20 6d 75 73 74 20 63 6f 6e 74 61 69 6e 20 74 68 must contain th
a8b0: 65 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 70 e two elements p
a8c0: 61 63 6b 61 67 65 20 6e 61 6d 65 20 61 6e 64 20 ackage name and
a8d0: 63 6c 61 73 73 20 6e 61 6d 65 2e 0d 0a 0d 0a 3c class name.....<
a8e0: 74 74 3e 62 6f 72 67 20 71 75 65 72 79 73 65 72 tt>borg queryser
a8f0: 76 69 63 65 73 20 3c 69 3e 61 63 74 69 6f 6e 3c vices <i>action<
a900: 2f 69 3e 20 3f 3c 69 3e 75 72 69 20 74 79 70 65 /i> ?<i>uri type
a910: 20 63 61 74 65 67 6f 72 69 65 73 20 63 6f 6d 70 categories comp
a920: 6f 6e 65 6e 74 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d onent</i>?</tt>.
a930: 0a 0d 0a 20 20 20 20 51 75 65 72 69 65 73 20 41 ... Queries A
a940: 6e 64 72 6f 69 64 27 73 20 61 63 74 69 76 69 74 ndroid's activit
a950: 79 20 6d 61 6e 61 67 65 72 20 66 6f 72 20 73 65 y manager for se
a960: 72 76 69 63 65 73 20 6f 6e 20 74 68 65 20 67 69 rvices on the gi
a970: 76 65 6e 20 69 6e 74 65 6e 74 20 70 61 72 61 6d ven intent param
a980: 65 74 65 72 73 2c 20 73 69 6d 69 6c 61 72 20 74 eters, similar t
a990: 6f 20 3c 74 74 3e 62 6f 72 67 20 71 75 65 72 79 o <tt>borg query
a9a0: 61 63 74 69 76 69 74 69 65 73 3c 2f 74 74 3e 2e activities</tt>.
a9b0: 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 71 75 65 ....<tt>borg que
a9c0: 72 79 62 72 6f 61 64 63 61 73 74 72 65 63 65 69 rybroadcastrecei
a9d0: 76 65 72 73 20 3c 69 3e 61 63 74 69 6f 6e 3c 2f vers <i>action</
a9e0: 69 3e 20 3f 3c 69 3e 75 72 69 20 74 79 70 65 20 i> ?<i>uri type
a9f0: 63 61 74 65 67 6f 72 69 65 73 20 63 6f 6d 70 6f categories compo
aa00: 6e 65 6e 74 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a nent</i>?</tt>..
aa10: 0d 0a 20 20 20 20 51 75 65 72 69 65 73 20 41 6e .. Queries An
aa20: 64 72 6f 69 64 27 73 20 61 63 74 69 76 69 74 79 droid's activity
aa30: 20 6d 61 6e 61 67 65 72 20 66 6f 72 20 62 72 6f manager for bro
aa40: 61 64 63 61 73 74 20 72 65 63 65 69 76 65 72 73 adcast receivers
aa50: 20 6f 6e 20 74 68 65 20 67 69 76 65 6e 20 69 6e on the given in
aa60: 74 65 6e 74 20 70 61 72 61 6d 65 74 65 72 73 2c tent parameters,
aa70: 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 74 74 3e similar to <tt>
aa80: 62 6f 72 67 20 71 75 65 72 79 61 63 74 69 76 69 borg queryactivi
aa90: 74 69 65 73 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 ties</tt>.....<t
aaa0: 74 3e 62 6f 72 67 20 73 63 72 65 65 6e 6f 72 69 t>borg screenori
aab0: 65 6e 74 61 74 69 6f 6e 20 3f 3c 69 3e 6f 72 69 entation ?<i>ori
aac0: 65 6e 74 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d ent</i>?</tt>...
aad0: 0a 20 20 20 20 51 75 65 72 69 65 73 20 6f 72 20 . Queries or
aae0: 73 77 69 74 63 68 65 73 20 74 68 65 20 73 63 72 switches the scr
aaf0: 65 65 6e 20 6f 72 69 65 6e 74 61 74 69 6f 6e 2c een orientation,
ab00: 20 3c 74 74 3e 3c 69 3e 6f 72 69 65 6e 74 3c 2f <tt><i>orient</
ab10: 69 3e 3c 2f 74 74 3e 20 63 61 6e 20 62 65 20 6f i></tt> can be o
ab20: 6e 65 20 6f 66 20 3c 74 74 3e 75 6e 73 70 65 63 ne of <tt>unspec
ab30: 69 66 69 65 64 3c 2f 74 74 3e 2c 20 3c 74 74 3e ified</tt>, <tt>
ab40: 6c 61 6e 64 73 63 61 70 65 3c 2f 74 74 3e 2c 20 landscape</tt>,
ab50: 3c 74 74 3e 70 6f 72 74 72 61 69 74 3c 2f 74 74 <tt>portrait</tt
ab60: 3e 2c 20 3c 74 74 3e 75 73 65 72 3c 2f 74 74 3e >, <tt>user</tt>
ab70: 2c 20 3c 74 74 3e 62 65 68 69 6e 64 3c 2f 74 74 , <tt>behind</tt
ab80: 3e 2c 20 3c 74 74 3e 73 65 6e 73 6f 72 3c 2f 74 >, <tt>sensor</t
ab90: 74 3e 2c 20 3c 74 74 3e 6e 6f 73 65 6e 73 6f 72 t>, <tt>nosensor
aba0: 3c 2f 74 74 3e 2c 20 3c 74 74 3e 73 65 6e 73 6f </tt>, <tt>senso
abb0: 72 6c 61 6e 64 73 63 61 70 65 3c 2f 74 74 3e 2c rlandscape</tt>,
abc0: 20 3c 74 74 3e 73 65 6e 73 6f 72 70 6f 72 74 72 <tt>sensorportr
abd0: 61 69 74 3c 2f 74 74 3e 2c 20 3c 74 74 3e 72 65 ait</tt>, <tt>re
abe0: 76 65 72 73 65 6c 61 6e 64 73 63 61 70 65 3c 2f verselandscape</
abf0: 74 74 3e 2c 20 3c 74 74 3e 72 65 76 65 72 73 65 tt>, <tt>reverse
ac00: 70 6f 72 74 72 61 69 74 3c 2f 74 74 3e 2c 20 3c portrait</tt>, <
ac10: 74 74 3e 66 75 6c 6c 73 65 6e 73 6f 72 3c 2f 74 tt>fullsensor</t
ac20: 74 3e 2c 20 3c 74 74 3e 75 73 65 72 6c 61 6e 64 t>, <tt>userland
ac30: 73 63 61 70 65 3c 2f 74 74 3e 2c 20 3c 74 74 3e scape</tt>, <tt>
ac40: 75 73 65 72 70 6f 72 74 72 61 69 74 3c 2f 74 74 userportrait</tt
ac50: 3e 2c 20 3c 74 74 3e 66 75 6c 6c 75 73 65 72 3c >, <tt>fulluser<
ac60: 2f 74 74 3e 2c 20 6f 72 20 3c 74 74 3e 6c 6f 63 /tt>, or <tt>loc
ac70: 6b 65 64 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 ked</tt>.....<tt
ac80: 3e 62 6f 72 67 20 6b 65 79 62 6f 61 72 64 69 6e >borg keyboardin
ac90: 66 6f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 fo</tt>.... R
aca0: 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 eturns informati
acb0: 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 63 75 72 on about the cur
acc0: 72 65 6e 74 20 6b 65 79 62 6f 61 72 64 20 63 6f rent keyboard co
acd0: 6e 66 69 67 75 72 61 74 69 6f 6e 20 61 73 20 61 nfiguration as a
ace0: 20 6c 69 73 74 20 73 75 69 74 65 64 20 66 6f 72 list suited for
acf0: 20 3c 74 74 3e 61 72 72 61 79 20 73 65 74 3c 2f <tt>array set</
ad00: 74 74 3e 20 6f 72 20 3c 74 74 3e 64 69 63 74 20 tt> or <tt>dict
ad10: 63 72 65 61 74 65 3c 2f 74 74 3e 20 77 69 74 68 create</tt> with
ad20: 20 74 68 65 73 65 20 66 69 65 6c 64 73 3a 20 3c these fields: <
ad30: 74 74 3e 6b 65 79 62 6f 61 72 64 3c 2f 74 74 3e tt>keyboard</tt>
ad40: 20 77 69 74 68 20 70 6f 73 73 69 62 6c 65 20 76 with possible v
ad50: 61 6c 75 65 73 20 3c 74 74 3e 6e 6f 6e 65 3c 2f alues <tt>none</
ad60: 74 74 3e 2c 20 3c 74 74 3e 31 32 6b 65 79 3c 2f tt>, <tt>12key</
ad70: 74 74 3e 2c 20 61 6e 64 20 3c 74 74 3e 71 77 65 tt>, and <tt>qwe
ad80: 72 74 79 3c 2f 74 74 3e 2c 20 3c 74 74 3e 68 69 rty</tt>, <tt>hi
ad90: 64 64 65 6e 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 dden</tt> and <t
ada0: 74 3e 68 61 72 64 5f 68 69 64 64 65 6e 3c 2f 74 t>hard_hidden</t
adb0: 74 3e 20 77 69 74 68 20 76 61 6c 75 65 73 20 30 t> with values 0
adc0: 20 28 6e 6f 74 20 68 69 64 64 65 6e 29 2c 20 31 (not hidden), 1
add0: 2c 20 28 68 69 64 64 65 6e 29 2c 20 61 6e 64 20 , (hidden), and
ade0: 2d 31 20 28 75 6e 6b 6e 6f 77 6e 29 2e 20 54 68 -1 (unknown). Th
adf0: 69 73 20 63 61 6e 20 62 65 20 72 65 61 64 20 6f is can be read o
ae00: 75 74 20 61 6e 79 20 74 69 6d 65 2e 20 41 6e 20 ut any time. An
ae10: 75 70 64 61 74 65 20 69 6e 20 6b 65 79 62 6f 61 update in keyboa
ae20: 72 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e rd configuration
ae30: 20 73 74 61 74 65 20 69 73 20 69 6e 64 69 63 61 state is indica
ae40: 74 65 64 20 62 79 20 74 68 65 20 76 69 72 74 75 ted by the virtu
ae50: 61 6c 20 65 76 65 6e 74 20 3c 74 74 3e 3c 3c 4b al event <tt><<K
ae60: 65 79 62 6f 61 72 64 49 6e 66 6f 3e 3e 3c 2f 74 eyboardInfo>></t
ae70: 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 t>.....<tt>borg
ae80: 61 6c 61 72 6d 20 63 6c 65 61 72 20 3c 69 3e 61 alarm clear <i>a
ae90: 63 74 69 6f 6e 3c 2f 69 3e 20 3f 3c 69 3e 75 72 ction</i> ?<i>ur
aea0: 69 20 74 79 70 65 20 63 61 74 65 67 6f 72 69 65 i type categorie
aeb0: 73 20 63 6f 6d 70 6f 6e 65 6e 74 3c 2f 69 3e 3f s component</i>?
aec0: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 43 6c 65 </tt>.... Cle
aed0: 61 72 73 20 61 6e 20 61 6c 61 72 6d 20 77 68 6f ars an alarm who
aee0: 73 65 20 70 61 74 74 65 72 6e 20 6d 61 74 63 68 se pattern match
aef0: 65 73 20 74 68 65 20 67 69 76 65 6e 20 69 6e 74 es the given int
af00: 65 6e 74 20 70 61 72 61 6d 65 74 65 72 73 2e 0d ent parameters..
af10: 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 61 6c 61 72 ...<tt>borg alar
af20: 6d 20 73 65 74 20 3c 69 3e 77 68 65 6e 20 72 65 m set <i>when re
af30: 70 65 61 74 20 61 63 74 69 6f 6e 3c 2f 69 3e 20 peat action</i>
af40: 3f 3c 69 3e 75 72 69 20 74 79 70 65 20 63 61 74 ?<i>uri type cat
af50: 65 67 6f 72 69 65 73 20 63 6f 6d 70 6f 6e 65 6e egories componen
af60: 74 20 61 72 67 20 2e 2e 2e 3c 2f 69 3e 3f 3c 2f t arg ...</i>?</
af70: 74 74 3e 0d 0a 0d 0a 20 20 20 20 53 65 74 73 20 tt>.... Sets
af80: 61 6e 20 61 6c 61 72 6d 20 74 6f 20 66 69 72 65 an alarm to fire
af90: 20 61 74 20 3c 74 74 3e 3c 69 3e 77 68 65 6e 3c at <tt><i>when<
afa0: 2f 69 3e 3c 2f 74 74 3e 20 28 55 4e 2a 58 20 65 /i></tt> (UN*X e
afb0: 70 6f 63 68 2c 20 73 65 63 6f 6e 64 73 29 20 77 poch, seconds) w
afc0: 69 74 68 20 72 65 70 65 74 69 74 69 6f 6e 20 65 ith repetition e
afd0: 61 63 68 20 3c 74 74 3e 3c 69 3e 72 65 70 65 61 ach <tt><i>repea
afe0: 74 3c 2f 69 3e 3c 2f 74 74 3e 20 73 65 63 6f 6e t</i></tt> secon
aff0: 64 73 2c 20 77 68 65 6e 20 3c 74 74 3e 3c 69 3e ds, when <tt><i>
b000: 72 65 70 65 61 74 3c 2f 69 3e 3c 2f 74 74 3e 20 repeat</i></tt>
b010: 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 is greater than
b020: 30 2e 20 54 68 65 20 61 6c 61 72 6d 20 73 65 6e 0. The alarm sen
b030: 64 73 20 61 6e 20 69 6e 74 65 6e 74 20 6d 61 64 ds an intent mad
b040: 65 20 75 70 20 6f 66 20 74 68 65 20 67 69 76 65 e up of the give
b050: 6e 20 69 6e 74 65 6e 74 20 70 61 72 61 6d 65 74 n intent paramet
b060: 65 72 73 20 28 3c 74 74 3e 3c 69 3e 61 63 74 69 ers (<tt><i>acti
b070: 6f 6e 3c 2f 69 3e 3c 2f 74 74 3e 20 65 74 63 2e on</i></tt> etc.
b080: 29 2e 20 54 68 65 20 3c 74 74 3e 3c 69 3e 63 6f ). The <tt><i>co
b090: 6d 70 6f 6e 65 6e 74 3c 2f 69 3e 3c 2f 74 74 3e mponent</i></tt>
b0a0: 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 69 6e parameter is in
b0b0: 74 65 72 70 72 65 74 65 64 20 73 70 65 63 69 61 terpreted specia
b0c0: 6c 6c 79 3a 20 77 68 65 6e 20 65 6d 70 74 79 20 lly: when empty
b0d0: 6e 6f 20 63 6f 6d 70 6f 6e 65 6e 74 20 69 73 20 no component is
b0e0: 73 65 74 20 6f 6e 20 74 68 65 20 69 6e 74 65 6e set on the inten
b0f0: 74 2c 20 77 68 65 6e 20 67 69 76 65 6e 20 61 73 t, when given as
b100: 20 73 65 6c 66 20 74 68 65 20 63 61 6c 6c 69 6e self the callin
b110: 67 20 70 61 63 6b 61 67 65 2f 63 6c 61 73 73 20 g package/class
b120: 69 73 20 73 65 74 20 61 73 20 63 6f 6d 70 6f 6e is set as compon
b130: 65 6e 74 20 66 6f 72 20 74 68 65 20 69 6e 74 65 ent for the inte
b140: 6e 74 20 28 73 65 6e 64 69 6e 67 20 74 68 65 20 nt (sending the
b150: 69 6e 74 65 6e 74 20 74 6f 20 69 74 73 65 6c 66 intent to itself
b160: 2c 20 69 2e 65 2e 20 74 68 65 20 63 61 6c 6c 62 , i.e. the callb
b170: 61 63 6b 20 6f 66 20 3c 74 74 3e 62 6f 72 67 20 ack of <tt>borg
b180: 6f 6e 69 6e 74 65 6e 74 3c 2f 74 74 3e 20 77 69 onintent</tt> wi
b190: 6c 6c 20 72 65 63 65 69 76 65 20 69 74 29 2e 20 ll receive it).
b1a0: 49 6e 20 61 6c 6c 20 6f 74 68 65 72 20 63 61 73 In all other cas
b1b0: 65 73 20 63 6f 6d 70 6f 6e 65 6e 74 20 6d 75 73 es component mus
b1c0: 74 20 62 65 20 61 20 6c 69 73 74 20 77 69 74 68 t be a list with
b1d0: 20 74 68 65 20 74 77 6f 20 65 6c 65 6d 65 6e 74 the two element
b1e0: 73 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 61 s package name a
b1f0: 6e 64 20 63 6c 61 73 73 20 6e 61 6d 65 2e 20 3c nd class name. <
b200: 74 74 3e 3c 69 3e 61 72 67 3c 2f 69 3e 3c 2f 74 tt><i>arg</i></t
b210: 74 3e 20 61 6e 64 20 66 6f 6c 6c 6f 77 69 6e 67 t> and following
b220: 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 parameters are
b230: 61 64 64 65 64 20 74 6f 20 74 68 65 20 69 6e 74 added to the int
b240: 65 6e 74 20 61 73 20 6b 65 79 20 76 61 6c 75 65 ent as key value
b250: 20 70 61 69 72 73 20 6f 66 20 65 78 74 72 61 20 pairs of extra
b260: 64 61 74 61 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 data.....<tt>bor
b270: 67 20 61 6c 61 72 6d 20 77 61 6b 65 75 70 20 3c g alarm wakeup <
b280: 69 3e 77 68 65 6e 20 72 65 70 65 61 74 20 61 63 i>when repeat ac
b290: 74 69 6f 6e 3c 2f 69 3e 20 3f 3c 69 3e 75 72 69 tion</i> ?<i>uri
b2a0: 20 74 79 70 65 20 63 61 74 65 67 6f 72 69 65 73 type categories
b2b0: 20 63 6f 6d 70 6f 6e 65 6e 74 20 61 72 67 20 2e component arg .
b2c0: 2e 2e 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a ..</i>?</tt>....
b2d0: 20 20 20 20 4c 69 6b 65 20 3c 74 74 3e 62 6f 72 Like <tt>bor
b2e0: 67 20 61 6c 61 72 6d 20 73 65 74 3c 2f 74 74 3e g alarm set</tt>
b2f0: 20 62 75 74 20 74 68 69 73 20 74 79 70 65 20 6f but this type o
b300: 66 20 61 6c 61 72 6d 20 69 73 20 61 62 6c 65 20 f alarm is able
b310: 74 6f 20 77 61 6b 65 20 75 70 20 74 68 65 20 64 to wake up the d
b320: 65 76 69 63 65 20 77 68 65 6e 20 73 75 73 70 65 evice when suspe
b330: 6e 64 65 64 20 28 64 65 76 69 63 65 20 62 65 68 nded (device beh
b340: 61 76 69 6f 72 20 64 65 70 65 6e 64 73 20 6f 6e avior depends on
b350: 20 6c 6f 63 6b 20 73 63 72 65 65 6e 20 73 65 74 lock screen set
b360: 74 69 6e 67 73 29 2e 0d 0a 0d 0a 3c 74 74 3e 62 tings).....<tt>b
b370: 6f 72 67 20 61 63 74 69 76 69 74 79 20 3c 69 3e org activity <i>
b380: 61 63 74 69 6f 6e 20 75 72 69 20 74 79 70 65 3c action uri type<
b390: 2f 69 3e 20 3f 3c 69 3e 63 61 74 65 67 6f 72 69 /i> ?<i>categori
b3a0: 65 73 3c 2f 69 3e 20 3f 3c 69 3e 63 6f 6d 70 6f es</i> ?<i>compo
b3b0: 6e 65 6e 74 3c 2f 69 3e 20 3f 3c 69 3e 61 72 67 nent</i> ?<i>arg
b3c0: 75 6d 65 6e 74 73 3c 2f 69 3e 20 3f 3c 69 3e 63 uments</i> ?<i>c
b3d0: 61 6c 6c 62 61 63 6b 3c 2f 69 3e 3f 3f 3f 3f 3c allback</i>????<
b3e0: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 54 68 69 73 /tt>.... This
b3f0: 20 61 20 76 65 72 79 20 66 6c 65 78 69 62 6c 65 a very flexible
b400: 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 61 6c command that al
b410: 6c 6f 77 73 20 65 78 74 65 6e 73 69 76 65 20 61 lows extensive a
b420: 63 63 65 73 73 20 74 6f 20 74 68 65 20 41 6e 64 ccess to the And
b430: 72 6f 69 64 20 4f 53 20 61 6e 64 20 6f 74 68 65 roid OS and othe
b440: 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2e 20 r applications.
b450: 3c 74 74 3e 3c 69 3e 63 61 74 65 67 6f 72 69 65 <tt><i>categorie
b460: 73 3c 2f 69 3e 3c 2f 74 74 3e 2c 20 3c 74 74 3e s</i></tt>, <tt>
b470: 3c 69 3e 63 6f 6d 70 6f 6e 65 6e 74 3c 2f 69 3e <i>component</i>
b480: 3c 2f 74 74 3e 2c 20 61 6e 64 20 3c 74 74 3e 3c </tt>, and <tt><
b490: 69 3e 61 72 67 75 6d 65 6e 74 73 3c 2f 69 3e 3c i>arguments</i><
b4a0: 2f 74 74 3e 20 61 72 65 20 6f 70 74 69 6f 6e 61 /tt> are optiona
b4b0: 6c 20 6c 69 73 74 73 2e 20 3c 74 74 3e 3c 69 3e l lists. <tt><i>
b4c0: 63 61 6c 6c 62 61 63 6b 3c 2f 69 3e 3c 2f 74 74 callback</i></tt
b4d0: 3e 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 > is the name of
b4e0: 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 74 the procedure t
b4f0: 68 61 74 20 69 73 20 65 76 61 6c 75 61 74 65 64 hat is evaluated
b500: 20 77 68 65 6e 20 74 68 65 20 61 63 74 69 76 69 when the activi
b510: 74 79 20 3c 74 74 3e 3c 69 3e 61 63 74 69 6f 6e ty <tt><i>action
b520: 3c 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 63 6f 6d </i></tt> is com
b530: 70 6c 65 74 65 2e 20 3c 74 74 3e 3c 69 3e 61 72 plete. <tt><i>ar
b540: 67 75 6d 65 6e 74 73 3c 2f 69 3e 3c 2f 74 74 3e guments</i></tt>
b550: 20 61 72 65 20 6b 65 79 2d 76 61 6c 75 65 20 70 are key-value p
b560: 61 69 72 73 20 77 68 65 72 65 20 74 68 65 20 76 airs where the v
b570: 61 6c 75 65 73 20 61 72 65 20 6d 61 70 70 65 64 alues are mapped
b580: 20 74 6f 20 4a 61 76 61 20 73 74 72 69 6e 67 73 to Java strings
b590: 20 62 79 20 64 65 66 61 75 6c 74 2e 20 49 66 20 by default. If
b5a0: 74 68 65 20 6b 65 79 20 69 73 20 61 20 32 2d 65 the key is a 2-e
b5b0: 6c 65 6d 65 6e 74 20 6c 69 73 74 20 6d 61 64 65 lement list made
b5c0: 20 75 70 20 6f 66 20 61 20 64 61 74 61 20 74 79 up of a data ty
b5d0: 70 65 20 69 6e 64 69 63 61 74 6f 72 20 28 3c 74 pe indicator (<t
b5e0: 74 3e 69 6e 74 3c 2f 74 74 3e 2c 20 3c 74 74 3e t>int</tt>, <tt>
b5f0: 62 79 74 65 3c 2f 74 74 3e 2c 20 3c 74 74 3e 73 byte</tt>, <tt>s
b600: 68 6f 72 74 3c 2f 74 74 3e 2c 20 3c 74 74 3e 63 hort</tt>, <tt>c
b610: 68 61 72 3c 2f 74 74 3e 2c 20 3c 74 74 3e 6c 6f har</tt>, <tt>lo
b620: 6e 67 3c 2f 74 74 3e 2c 20 3c 74 74 3e 66 6c 6f ng</tt>, <tt>flo
b630: 61 74 3c 2f 74 74 3e 2c 20 3c 74 74 3e 64 6f 75 at</tt>, <tt>dou
b640: 62 6c 65 3c 2f 74 74 3e 2c 20 3c 74 74 3e 55 72 ble</tt>, <tt>Ur
b650: 69 3c 2f 74 74 3e 29 20 66 6f 6c 6c 6f 77 65 64 i</tt>) followed
b660: 20 62 79 20 74 68 65 20 6b 65 79 2c 20 74 68 65 by the key, the
b670: 20 76 61 6c 75 65 20 69 73 20 63 6f 6e 76 65 72 value is conver
b680: 74 65 64 20 74 6f 20 74 68 61 74 20 64 61 74 61 ted to that data
b690: 20 74 79 70 65 2e 20 53 65 65 20 62 65 6c 6f 77 type. See below
b6a0: 20 66 6f 72 20 73 6f 6d 65 20 65 78 61 6d 70 6c for some exampl
b6b0: 65 73 20 6f 66 20 74 68 69 73 20 63 6f 6d 6d 61 es of this comma
b6c0: 6e 64 2e 0d 0a 0d 0a 3c 74 74 3e 62 6f 72 67 20 nd.....<tt>borg
b6d0: 73 79 73 74 65 6d 75 69 20 3f 3c 69 3e 66 6c 61 systemui ?<i>fla
b6e0: 67 73 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a gs</i>?</tt>....
b6f0: 20 20 20 20 52 65 74 75 72 6e 73 20 6f 72 20 73 Returns or s
b700: 65 74 73 20 76 61 72 69 6f 75 73 20 66 6c 61 67 ets various flag
b710: 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 63 65 72 s to control cer
b720: 74 61 69 6e 20 61 73 70 65 63 74 73 20 6f 66 20 tain aspects of
b730: 73 79 73 74 65 6d 20 55 49 20 65 6c 65 6d 65 6e system UI elemen
b740: 74 73 20 64 69 73 70 6c 61 79 65 64 20 6f 6e 20 ts displayed on
b750: 74 68 65 20 64 65 76 69 63 65 27 73 20 73 63 72 the device's scr
b760: 65 65 6e 2e 20 54 68 69 73 20 69 73 20 63 75 72 een. This is cur
b770: 72 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 65 64 rently supported
b780: 20 6f 6e 6c 79 20 6f 6e 20 41 6e 64 72 6f 69 64 only on Android
b790: 20 34 2e 34 20 61 6e 64 20 6e 65 77 65 72 20 76 4.4 and newer v
b7a0: 65 72 73 69 6f 6e 73 2e 20 53 65 65 20 74 68 65 ersions. See the
b7b0: 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f documentation o
b7c0: 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a n <a href="http:
b7d0: 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 61 6e 64 72 //developer.andr
b7e0: 6f 69 64 2e 63 6f 6d 2f 72 65 66 65 72 65 6e 63 oid.com/referenc
b7f0: 65 2f 61 6e 64 72 6f 69 64 2f 76 69 65 77 2f 56 e/android/view/V
b800: 69 65 77 2e 68 74 6d 6c 22 3e 61 6e 64 72 6f 69 iew.html">androi
b810: 64 2e 76 69 65 77 2e 56 69 65 77 3c 2f 61 3e 20 d.view.View</a>
b820: 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f for a descriptio
b830: 6e 20 6f 66 20 74 68 65 20 3c 74 74 3e 53 59 53 n of the <tt>SYS
b840: 54 45 4d 5f 55 49 5f 2a 3c 2f 74 74 3e 20 66 6c TEM_UI_*</tt> fl
b850: 61 67 73 2e 0d 0a 0d 0a 3c 68 33 3e 45 76 65 6e ags.....<h3>Even
b860: 74 73 3c 2f 68 33 3e 0d 0a 0d 0a 54 68 65 73 65 ts</h3>....These
b870: 20 65 76 65 6e 74 73 20 61 72 65 20 67 65 6e 65 events are gene
b880: 72 61 74 65 64 20 66 6f 72 2f 62 79 20 63 65 72 rated for/by cer
b890: 74 61 69 6e 20 3c 74 74 3e 62 6f 72 67 3c 2f 74 tain <tt>borg</t
b8a0: 74 3e 20 72 65 6c 61 74 65 64 20 63 6f 6d 6d 61 t> related comma
b8b0: 6e 64 73 2e 20 54 68 65 79 20 61 72 65 20 72 65 nds. They are re
b8c0: 70 6f 72 74 65 64 20 74 6f 20 74 6f 70 6c 65 76 ported to toplev
b8d0: 65 6c 20 77 69 64 67 65 74 73 20 6f 6e 6c 79 2e el widgets only.
b8e0: 0d 0a 0d 0a 3c 74 74 3e 3c 3c 4c 6f 63 61 74 69 ....<tt><<Locati
b8f0: 6f 6e 55 70 64 61 74 65 3e 3e 3c 2f 74 74 3e 0d onUpdate>></tt>.
b900: 0a 0d 0a 20 20 20 20 4c 6f 63 61 74 69 6f 6e 20 ... Location
b910: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 68 61 73 20 information has
b920: 62 65 65 6e 20 75 70 64 61 74 65 64 20 61 6e 64 been updated and
b930: 20 63 61 6e 20 62 65 20 72 65 61 64 20 6f 75 74 can be read out
b940: 20 75 73 69 6e 67 20 3c 74 74 3e 62 6f 72 67 20 using <tt>borg
b950: 6c 6f 63 61 74 69 6f 6e 20 67 65 74 3c 2f 74 74 location get</tt
b960: 3e 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 47 50 53 55 >.....<tt><<GPSU
b970: 70 64 61 74 65 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a pdate>></tt>....
b980: 20 20 20 20 47 50 53 20 72 65 6c 61 74 65 64 20 GPS related
b990: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 68 61 73 20 information has
b9a0: 62 65 65 6e 20 75 70 64 61 74 65 64 20 61 6e 64 been updated and
b9b0: 20 63 61 6e 20 62 65 20 72 65 61 64 20 6f 75 74 can be read out
b9c0: 20 75 73 69 6e 67 20 3c 74 74 3e 62 6f 72 67 20 using <tt>borg
b9d0: 6c 6f 63 61 74 69 6f 6e 20 67 70 73 3c 2f 74 74 location gps</tt
b9e0: 3e 20 61 6e 64 20 3c 74 74 3e 62 6f 72 67 20 6c > and <tt>borg l
b9f0: 6f 63 61 74 69 6f 6e 20 73 61 74 65 6c 6c 69 74 ocation satellit
ba00: 65 73 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e es</tt>.....<tt>
ba10: 3c 3c 4e 4d 45 41 55 70 64 61 74 65 3e 3e 3c 2f <<NMEAUpdate>></
ba20: 74 74 3e 0d 0a 0d 0a 20 20 20 20 4e 4d 45 41 20 tt>.... NMEA
ba30: 64 61 74 61 20 68 61 73 20 62 65 65 6e 20 75 70 data has been up
ba40: 64 61 74 65 64 20 61 6e 64 20 63 61 6e 20 62 65 dated and can be
ba50: 20 72 65 61 64 20 6f 75 74 20 75 73 69 6e 67 20 read out using
ba60: 3c 74 74 3e 62 6f 72 67 20 6c 6f 63 61 74 69 6f <tt>borg locatio
ba70: 6e 20 6e 6d 65 61 3c 2f 74 74 3e 2e 0d 0a 0d 0a n nmea</tt>.....
ba80: 3c 74 74 3e 3c 3c 4e 65 74 77 6f 72 6b 49 6e 66 <tt><<NetworkInf
ba90: 6f 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 o>></tt>....
baa0: 4e 65 74 77 6f 72 6b 20 73 74 61 74 65 20 68 61 Network state ha
bab0: 73 20 63 68 61 6e 67 65 64 20 61 6e 64 20 63 61 s changed and ca
bac0: 6e 20 62 65 20 72 65 61 64 20 6f 75 74 20 75 73 n be read out us
bad0: 69 6e 67 20 3c 74 74 3e 62 6f 72 67 20 6e 65 74 ing <tt>borg net
bae0: 77 6f 72 6b 69 6e 66 6f 3c 2f 74 74 3e 2e 0d 0a workinfo</tt>...
baf0: 0d 0a 0d 0a 3c 74 74 3e 3c 3c 54 65 74 68 65 72 ....<tt><<Tether
bb00: 49 6e 66 6f 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 Info>></tt>....
bb10: 20 20 20 54 65 74 68 65 72 69 6e 67 20 73 74 61 Tethering sta
bb20: 74 65 20 68 61 73 20 63 68 61 6e 67 65 64 20 61 te has changed a
bb30: 6e 64 20 63 61 6e 20 62 65 20 72 65 61 64 20 6f nd can be read o
bb40: 75 74 20 75 73 69 6e 67 20 3c 74 74 3e 62 6f 72 ut using <tt>bor
bb50: 67 20 74 65 74 68 65 72 69 6e 66 6f 3c 2f 74 74 g tetherinfo</tt
bb60: 3e 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 42 6c 75 65 >.....<tt><<Blue
bb70: 74 6f 6f 74 68 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a tooth>></tt>....
bb80: 20 20 20 20 41 20 63 68 61 6e 67 65 20 69 6e 20 A change in
bb90: 42 6c 75 65 74 6f 6f 74 68 20 73 74 61 74 65 20 Bluetooth state
bba0: 61 6e 64 2f 6f 72 20 73 63 61 6e 20 6d 6f 64 65 and/or scan mode
bbb0: 20 68 61 73 20 6f 63 63 75 72 65 64 20 61 6e 64 has occured and
bbc0: 20 63 61 6e 20 62 65 20 72 65 61 64 20 6f 75 74 can be read out
bbd0: 20 75 73 69 6e 67 20 3c 74 74 3e 62 6f 72 67 20 using <tt>borg
bbe0: 62 6c 75 65 74 6f 6f 74 68 20 73 74 61 74 65 3c bluetooth state<
bbf0: 2f 74 74 3e 20 61 6e 64 2f 6f 72 20 3c 74 74 3e /tt> and/or <tt>
bc00: 62 6f 72 67 20 62 6c 75 65 74 6f 6f 74 68 20 73 borg bluetooth s
bc10: 63 61 6e 6d 6f 64 65 3c 2f 74 74 3e 2e 0d 0a 0d canmode</tt>....
bc20: 0a 3c 74 74 3e 3c 3c 53 65 6e 73 6f 72 55 70 64 .<tt><<SensorUpd
bc30: 61 74 65 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 ate>></tt>....
bc40: 20 20 41 20 73 65 6e 73 6f 72 20 63 61 6e 20 62 A sensor can b
bc50: 65 20 72 65 61 64 20 75 73 69 6e 67 20 3c 74 74 e read using <tt
bc60: 3e 62 6f 72 67 20 73 65 6e 73 6f 72 20 67 65 74 >borg sensor get
bc70: 20 2e 2e 2e 3c 2f 74 74 3e 2e 20 54 68 65 20 66 ...</tt>. The f
bc80: 69 65 6c 64 20 3c 74 74 3e 25 78 3c 2f 74 74 3e ield <tt>%x</tt>
bc90: 20 69 64 65 6e 74 69 66 69 65 73 20 74 68 65 20 identifies the
bca0: 73 65 6e 73 6f 72 2e 0d 0a 0d 0a 3c 74 74 3e 3c sensor.....<tt><
bcb0: 3c 4b 65 79 62 6f 61 72 64 49 6e 66 6f 3e 3e 3c <KeyboardInfo>><
bcc0: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 54 68 65 20 /tt>.... The
bcd0: 6b 65 79 62 6f 61 72 64 20 63 6f 6e 66 69 67 75 keyboard configu
bce0: 72 61 74 69 6f 6e 20 64 69 64 20 63 68 61 6e 67 ration did chang
bcf0: 65 20 61 6e 64 20 63 61 6e 20 62 65 20 6f 62 74 e and can be obt
bd00: 61 69 6e 65 64 20 62 79 20 3c 74 74 3e 62 6f 72 ained by <tt>bor
bd10: 67 20 6b 65 79 62 6f 61 72 64 69 6e 66 6f 3c 2f g keyboardinfo</
bd20: 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 50 68 tt>.....<tt><<Ph
bd30: 6f 6e 65 43 61 6c 6c 53 74 61 74 65 3e 3e 3c 2f oneCallState>></
bd40: 74 74 3e 0d 0a 0d 0a 20 20 20 20 54 68 65 20 63 tt>.... The c
bd50: 61 6c 6c 20 73 74 61 74 65 20 6f 66 20 74 68 65 all state of the
bd60: 20 74 65 6c 65 70 68 6f 6e 65 20 68 61 73 20 63 telephone has c
bd70: 68 61 6e 67 65 64 20 61 6e 64 20 63 61 6e 20 62 hanged and can b
bd80: 65 20 6f 62 74 61 69 6e 65 64 20 62 79 20 3c 74 e obtained by <t
bd90: 74 3e 62 6f 72 67 20 70 68 6f 6e 65 69 6e 66 6f t>borg phoneinfo
bda0: 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c </tt>.....<tt><<
bdb0: 50 68 6f 6e 65 44 61 74 61 41 63 74 69 76 69 74 PhoneDataActivit
bdc0: 79 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 y>></tt>....
bdd0: 54 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 The state of the
bde0: 20 74 65 6c 65 70 68 6f 6e 65 27 73 20 64 61 74 telephone's dat
bdf0: 61 20 73 74 61 74 65 20 68 61 73 20 63 68 61 6e a state has chan
be00: 67 65 64 20 61 6e 64 20 63 61 6e 20 62 65 20 6f ged and can be o
be10: 62 74 61 69 6e 65 64 20 62 79 20 3c 74 74 3e 62 btained by <tt>b
be20: 6f 72 67 20 70 68 6f 6e 65 69 6e 66 6f 3c 2f 74 org phoneinfo</t
be30: 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 50 68 6f t>.....<tt><<Pho
be40: 6e 65 43 6f 6e 6e 65 63 74 69 6f 6e 53 74 61 74 neConnectionStat
be50: 65 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 e>></tt>....
be60: 54 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 The state of the
be70: 20 74 65 6c 65 70 68 6f 6e 65 27 73 20 63 6f 6e telephone's con
be80: 6e 65 63 74 69 76 69 74 79 20 68 61 73 20 63 68 nectivity has ch
be90: 61 6e 67 65 64 20 61 6e 64 20 63 61 6e 20 62 65 anged and can be
bea0: 20 6f 62 74 61 69 6e 65 64 20 62 79 20 3c 74 74 obtained by <tt
beb0: 3e 62 6f 72 67 20 70 68 6f 6e 65 69 6e 66 6f 3c >borg phoneinfo<
bec0: 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 50 /tt>.....<tt><<P
bed0: 68 6f 6e 65 53 65 72 76 69 63 65 53 74 61 74 65 honeServiceState
bee0: 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 54 >></tt>.... T
bef0: 68 65 20 73 65 72 76 69 63 65 20 73 74 61 74 65 he service state
bf00: 20 6f 66 20 74 68 65 20 74 65 6c 65 70 68 6f 6e of the telephon
bf10: 65 20 68 61 73 20 63 68 61 6e 67 65 64 20 61 6e e has changed an
bf20: 64 20 63 61 6e 20 62 65 20 6f 62 74 61 69 6e 65 d can be obtaine
bf30: 64 20 62 79 20 3c 74 74 3e 62 6f 72 67 20 70 68 d by <tt>borg ph
bf40: 6f 6e 65 69 6e 66 6f 3c 2f 74 74 3e 2e 0d 0a 0d oneinfo</tt>....
bf50: 0a 3c 74 74 3e 3c 3c 50 68 6f 6e 65 53 69 67 6e .<tt><<PhoneSign
bf60: 61 6c 53 74 72 65 6e 67 74 68 3e 3e 3c 2f 74 74 alStrength>></tt
bf70: 3e 0d 0a 0d 0a 20 20 20 20 54 68 65 20 73 69 67 >.... The sig
bf80: 6e 61 6c 20 71 75 61 6c 69 74 79 20 6f 66 20 74 nal quality of t
bf90: 68 65 20 74 65 6c 65 70 68 6f 6e 65 20 68 61 73 he telephone has
bfa0: 20 63 68 61 6e 67 65 64 20 61 6e 64 20 63 61 6e changed and can
bfb0: 20 62 65 20 6f 62 74 61 69 6e 65 64 20 62 79 20 be obtained by
bfc0: 3c 74 74 3e 62 6f 72 67 20 70 68 6f 6e 65 69 6e <tt>borg phonein
bfd0: 66 6f 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e fo</tt>.....<tt>
bfe0: 3c 3c 49 6d 61 67 65 43 61 70 74 75 72 65 3e 3e <<ImageCapture>>
bff0: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 41 20 70 </tt>.... A p
c000: 72 65 76 69 65 77 20 63 61 6d 65 72 61 20 69 6d review camera im
c010: 61 67 65 20 69 73 20 72 65 61 64 79 20 61 6e 64 age is ready and
c020: 20 63 61 6e 20 62 65 20 6f 62 74 61 69 6e 65 64 can be obtained
c030: 20 62 79 20 3c 74 74 3e 62 6f 72 67 20 63 61 6d by <tt>borg cam
c040: 65 72 61 20 69 6d 61 67 65 20 3c 69 3e 70 68 6f era image <i>pho
c050: 74 6f 3c 2f 69 3e 3c 2f 74 74 3e 20 6f 72 20 3c to</i></tt> or <
c060: 74 74 3e 62 6f 72 67 20 63 61 6d 65 72 61 20 67 tt>borg camera g
c070: 72 65 79 69 6d 61 67 65 20 3c 69 3e 70 68 6f 74 reyimage <i>phot
c080: 6f 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 54 68 65 20 o</i></tt>. The
c090: 66 69 65 6c 64 20 3c 74 74 3e 25 78 3c 2f 74 74 field <tt>%x</tt
c0a0: 3e 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 > represents the
c0b0: 20 63 61 6d 65 72 61 20 63 61 70 74 75 72 65 20 camera capture
c0c0: 73 74 61 74 65 20 28 74 72 75 65 20 77 68 65 6e state (true when
c0d0: 20 70 72 65 76 69 65 77 20 69 6d 61 67 65 73 20 preview images
c0e0: 61 72 65 20 63 61 70 74 75 72 65 64 2c 20 66 61 are captured, fa
c0f0: 6c 73 65 20 77 68 65 6e 20 63 61 70 74 75 72 65 lse when capture
c100: 20 77 69 6c 6c 20 62 65 20 73 74 6f 70 70 65 64 will be stopped
c110: 29 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 53 68 75 74 ).....<tt><<Shut
c120: 74 65 72 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 ter>></tt>....
c130: 20 20 54 68 65 20 63 61 6d 65 72 61 20 69 73 20 The camera is
c140: 61 62 6f 75 74 20 74 6f 20 74 61 6b 65 20 61 20 about to take a
c150: 4a 50 45 47 20 69 6d 61 67 65 2e 0d 0a 0d 0a 3c JPEG image.....<
c160: 74 74 3e 3c 3c 50 69 63 74 75 72 65 54 61 6b 65 tt><<PictureTake
c170: 6e 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 n>></tt>....
c180: 54 68 65 20 63 61 6d 65 72 61 20 68 61 73 20 74 The camera has t
c190: 61 6b 65 6e 20 61 20 4a 50 45 47 20 70 69 63 74 aken a JPEG pict
c1a0: 75 72 65 20 77 68 69 63 68 20 63 61 6e 20 62 65 ure which can be
c1b0: 20 6f 62 74 61 69 6e 65 64 20 61 6e 64 20 63 6f obtained and co
c1c0: 6e 73 75 6d 65 64 20 62 79 20 3c 74 74 3e 62 6f nsumed by <tt>bo
c1d0: 72 67 20 63 61 6d 65 72 61 20 6a 70 65 67 3c 2f rg camera jpeg</
c1e0: 74 74 3e 2e 20 57 68 65 6e 20 74 68 65 20 65 76 tt>. When the ev
c1f0: 65 6e 74 20 69 73 20 72 65 70 6f 72 74 65 64 2c ent is reported,
c200: 20 69 6d 61 67 65 20 63 61 70 74 75 72 65 20 6f image capture o
c210: 66 20 70 72 65 76 69 65 77 20 69 6d 61 67 65 73 f preview images
c220: 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c is automaticall
c230: 79 20 73 74 6f 70 70 65 64 2e 0d 0a 0d 0a 3c 74 y stopped.....<t
c240: 74 3e 3c 3c 55 53 42 41 74 74 61 63 68 65 64 3e t><<USBAttached>
c250: 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 41 20 ></tt>.... A
c260: 55 53 42 20 64 65 76 69 63 65 20 77 61 73 20 61 USB device was a
c270: 74 74 61 63 68 65 64 2e 20 54 6f 20 66 69 6e 64 ttached. To find
c280: 20 6f 75 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e out information
c290: 20 61 62 6f 75 74 20 74 68 65 20 64 65 76 69 63 about the devic
c2a0: 65 2c 20 75 73 65 20 74 68 65 20 3c 74 74 3e 62 e, use the <tt>b
c2b0: 6f 72 67 20 75 73 62 64 65 76 69 63 65 73 3c 2f org usbdevices</
c2c0: 74 74 3e 20 63 6f 6d 6d 61 6e 64 2e 20 54 68 69 tt> command. Thi
c2d0: 73 20 65 76 65 6e 74 20 69 73 20 67 65 6e 65 72 s event is gener
c2e0: 61 74 65 64 20 6f 6e 20 41 6e 64 72 6f 69 64 20 ated on Android
c2f0: 34 2e 34 20 61 6e 64 20 6e 65 77 65 72 2e 0d 0a 4.4 and newer...
c300: 0d 0a 3c 74 74 3e 3c 3c 55 53 42 44 65 74 61 63 ..<tt><<USBDetac
c310: 68 65 64 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 hed>></tt>....
c320: 20 20 41 6e 20 55 53 42 20 64 65 76 69 63 65 20 An USB device
c330: 77 61 73 20 64 65 74 61 63 68 65 64 20 28 6f 70 was detached (op
c340: 70 6f 73 69 74 65 20 6f 66 20 3c 74 74 3e 3c 3c posite of <tt><<
c350: 55 53 42 41 74 74 61 63 68 65 64 3e 3e 3c 2f 74 USBAttached>></t
c360: 74 3e 29 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 54 54 t>).....<tt><<TT
c370: 53 49 6e 69 74 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a SInit>></tt>....
c380: 20 20 20 20 54 68 65 20 74 65 78 74 2d 74 6f 2d The text-to-
c390: 73 70 65 65 63 68 20 66 61 63 69 6c 69 74 79 20 speech facility
c3a0: 68 61 73 20 62 65 65 6e 20 73 74 61 72 74 65 64 has been started
c3b0: 20 75 70 20 6f 72 20 73 68 75 74 20 64 6f 77 6e up or shut down
c3c0: 2e 20 54 68 65 20 25 78 20 73 75 62 73 74 69 74 . The %x substit
c3d0: 75 74 69 6f 6e 20 67 69 76 65 73 20 61 6e 20 69 ution gives an i
c3e0: 6e 64 69 63 61 74 69 6f 6e 20 66 6f 72 20 73 74 ndication for st
c3f0: 61 72 74 75 70 20 28 3d 30 29 2c 20 65 72 72 6f artup (=0), erro
c400: 72 20 28 3d 2d 31 29 2c 20 61 6e 64 20 75 6e 61 r (=-1), and una
c410: 76 61 69 6c 61 62 69 6c 69 74 79 20 28 3c 2d 31 vailability (<-1
c420: 29 2e 20 53 75 70 70 6f 72 74 65 64 20 69 6e 20 ). Supported in
c430: 41 6e 64 72 6f 69 64 20 34 2e 31 20 61 6e 64 20 Android 4.1 and
c440: 68 69 67 68 65 72 2e 0d 0a 0d 0a 3c 74 74 3e 3c higher.....<tt><
c450: 3c 54 54 53 53 74 61 72 74 3e 3e 3c 2f 74 74 3e <TTSStart>></tt>
c460: 0d 0a 0d 0a 20 20 20 20 53 70 65 65 63 68 20 6f .... Speech o
c470: 75 74 70 75 74 20 6f 66 20 61 20 73 74 72 69 6e utput of a strin
c480: 67 20 68 61 73 20 73 74 61 72 74 65 64 2e 20 54 g has started. T
c490: 68 65 20 25 78 20 73 75 62 73 74 69 74 75 74 69 he %x substituti
c4a0: 6f 6e 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 on is equal to t
c4b0: 68 65 20 69 6e 74 65 67 65 72 20 72 65 74 75 72 he integer retur
c4c0: 6e 65 64 20 62 79 20 74 68 65 20 63 6f 72 72 65 ned by the corre
c4d0: 73 70 6f 6e 64 69 6e 67 20 3c 74 74 3e 62 6f 72 sponding <tt>bor
c4e0: 67 20 73 70 65 61 6b 3c 2f 74 74 3e 20 63 6f 6d g speak</tt> com
c4f0: 6d 61 6e 64 2e 20 53 75 70 70 6f 72 74 65 64 20 mand. Supported
c500: 69 6e 20 41 6e 64 72 6f 69 64 20 34 2e 31 20 61 in Android 4.1 a
c510: 6e 64 20 68 69 67 68 65 72 2e 0d 0a 0d 0a 3c 74 nd higher.....<t
c520: 74 3e 3c 3c 54 54 53 45 72 72 6f 72 3e 3e 3c 2f t><<TTSError>></
c530: 74 74 3e 0d 0a 0d 0a 20 20 20 20 45 72 72 6f 72 tt>.... Error
c540: 20 69 6e 64 69 63 61 74 69 6f 6e 20 66 6f 72 20 indication for
c550: 61 20 73 74 72 69 6e 67 20 74 6f 20 62 65 20 73 a string to be s
c560: 70 6f 6b 65 6e 20 62 79 20 3c 74 74 3e 62 6f 72 poken by <tt>bor
c570: 67 20 73 70 65 61 6b 3c 2f 74 74 3e 2e 20 54 68 g speak</tt>. Th
c580: 65 20 25 78 20 73 75 62 73 74 69 74 75 74 69 6f e %x substitutio
c590: 6e 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 n is equal to th
c5a0: 65 20 69 6e 74 65 67 65 72 20 72 65 74 75 72 6e e integer return
c5b0: 65 64 20 62 79 20 74 68 65 20 63 6f 72 72 65 73 ed by the corres
c5c0: 70 6f 6e 64 69 6e 67 20 3c 74 74 3e 62 6f 72 67 ponding <tt>borg
c5d0: 20 73 70 65 61 6b 3c 2f 74 74 3e 20 63 6f 6d 6d speak</tt> comm
c5e0: 61 6e 64 20 61 73 20 66 6f 72 20 74 68 65 20 3c and as for the <
c5f0: 74 74 3e 3c 3c 54 54 53 53 74 61 72 74 3e 3e 3c tt><<TTSStart>><
c600: 2f 74 74 3e 20 65 76 65 6e 74 2e 20 53 75 70 70 /tt> event. Supp
c610: 6f 72 74 65 64 20 69 6e 20 41 6e 64 72 6f 69 64 orted in Android
c620: 20 34 2e 31 20 61 6e 64 20 68 69 67 68 65 72 2e 4.1 and higher.
c630: 0d 0a 0d 0a 3c 74 74 3e 3c 3c 54 54 53 44 6f 6e ....<tt><<TTSDon
c640: 65 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 e>></tt>....
c650: 45 6e 64 20 6f 66 20 73 70 65 65 63 68 20 69 6e End of speech in
c660: 64 69 63 61 74 69 6f 6e 20 66 6f 72 20 61 20 73 dication for a s
c670: 74 72 69 6e 67 20 74 6f 20 62 65 20 73 70 6f 6b tring to be spok
c680: 65 6e 2e 20 20 54 68 65 20 25 78 20 73 75 62 73 en. The %x subs
c690: 74 69 74 75 74 69 6f 6e 20 69 73 20 65 71 75 61 titution is equa
c6a0: 6c 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 l to the integer
c6b0: 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 returned by the
c6c0: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c corresponding <
c6d0: 74 74 3e 62 6f 72 67 20 73 70 65 61 6b 3c 2f 74 tt>borg speak</t
c6e0: 74 3e 20 63 6f 6d 6d 61 6e 64 20 61 73 20 66 6f t> command as fo
c6f0: 72 20 74 68 65 20 3c 74 74 3e 3c 3c 54 54 53 53 r the <tt><<TTSS
c700: 74 61 72 74 3e 3e 3c 2f 74 74 3e 20 65 76 65 6e tart>></tt> even
c710: 74 2e 20 53 75 70 70 6f 72 74 65 64 20 69 6e 20 t. Supported in
c720: 41 6e 64 72 6f 69 64 20 34 2e 31 20 61 6e 64 20 Android 4.1 and
c730: 68 69 67 68 65 72 2e 0d 0a 0d 0a 3c 68 33 3e 3c higher.....<h3><
c740: 74 74 3e 62 6f 72 67 20 61 63 74 69 76 69 74 79 tt>borg activity
c750: 3c 2f 74 74 3e 20 45 78 61 6d 70 6c 65 73 3c 2f </tt> Examples</
c760: 68 33 3e 0d 0a 0d 0a 53 61 6d 70 6c 65 20 63 6f h3>....Sample co
c770: 64 65 20 74 6f 20 6f 70 65 6e 20 61 20 62 72 6f de to open a bro
c780: 77 73 65 72 20 6f 6e 20 74 68 65 20 54 63 6c 27 wser on the Tcl'
c790: 65 72 73 20 77 69 6b 69 3a 0d 0a 0d 0a 3c 76 65 ers wiki:....<ve
c7a0: 72 62 61 74 69 6d 3e 0d 0a 20 20 20 20 62 6f 72 rbatim>.. bor
c7b0: 67 20 61 63 74 69 76 69 74 79 20 61 6e 64 72 6f g activity andro
c7c0: 69 64 2e 69 6e 74 65 6e 74 2e 61 63 74 69 6f 6e id.intent.action
c7d0: 2e 56 49 45 57 20 68 74 74 70 3a 2f 2f 77 69 6b .VIEW http://wik
c7e0: 69 2e 74 63 6c 2e 74 6b 20 74 65 78 74 2f 68 74 i.tcl.tk text/ht
c7f0: 6d 6c 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d ml..</verbatim>.
c800: 0a 0d 0a 53 61 6d 70 6c 65 20 63 6f 64 65 20 74 ...Sample code t
c810: 6f 20 6c 61 75 6e 63 68 20 74 68 65 20 22 77 69 o launch the "wi
c820: 66 69 20 73 65 74 74 69 6e 67 73 22 20 70 61 67 fi settings" pag
c830: 65 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e e:....<verbatim>
c840: 0d 0a 62 6f 72 67 20 61 63 74 69 76 69 74 79 20 ..borg activity
c850: 61 6e 64 72 6f 69 64 2e 73 65 74 74 69 6e 67 73 android.settings
c860: 2e 57 49 46 49 5f 53 45 54 54 49 4e 47 53 20 7b .WIFI_SETTINGS {
c870: 7d 20 7b 7d 20 7b 7d 20 7b 7d 20 7b 7d 0d 0a 3c } {} {} {} {}..<
c880: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 53 61 /verbatim>....Sa
c890: 6d 70 6c 65 20 63 6f 64 65 20 74 6f 20 63 61 70 mple code to cap
c8a0: 74 75 72 65 20 61 6e 20 69 6d 61 67 65 20 28 6f ture an image (o
c8b0: 6e 6c 79 20 6d 61 6b 65 73 20 74 68 75 6d 62 6e nly makes thumbn
c8c0: 61 69 6c 73 29 3a 0d 0a 0d 0a 3c 76 65 72 62 61 ails):....<verba
c8d0: 74 69 6d 3e 0d 0a 20 20 20 20 70 72 6f 63 20 63 tim>.. proc c
c8e0: 61 6c 6c 62 61 63 6b 20 7b 72 65 74 63 6f 64 65 allback {retcode
c8f0: 20 61 63 74 69 6f 6e 20 75 72 69 20 6d 69 6d 65 action uri mime
c900: 74 79 70 65 20 63 61 74 65 67 6f 72 69 65 73 20 type categories
c910: 64 61 74 61 7d 20 7b 0d 0a 20 20 20 20 20 20 20 data} {..
c920: 20 69 66 20 7b 24 72 65 74 63 6f 64 65 20 3d 3d if {$retcode ==
c930: 20 2d 31 7d 20 7b 0d 0a 20 20 20 20 20 20 20 20 -1} {..
c940: 20 20 20 20 23 20 53 55 43 43 45 53 53 0d 0a 20 # SUCCESS..
c950: 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 array
c960: 20 73 65 74 20 72 65 73 75 6c 74 20 24 64 61 74 set result $dat
c970: 61 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 a.. i
c980: 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 f {[info exists
c990: 72 65 73 75 6c 74 28 64 61 74 61 29 5d 7d 20 7b result(data)]} {
c9a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
c9b0: 20 20 6d 79 70 68 6f 74 6f 20 63 6f 6e 66 69 67 myphoto config
c9c0: 75 72 65 20 2d 64 61 74 61 20 24 72 65 73 75 6c ure -data $resul
c9d0: 74 28 64 61 74 61 29 0d 0a 20 20 20 20 20 20 20 t(data)..
c9e0: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 }..
c9f0: 7d 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 70 61 }.. }.. pa
ca00: 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 49 6d ckage require Im
ca10: 67 0d 0a 20 20 20 20 69 6d 61 67 65 20 63 72 65 g.. image cre
ca20: 61 74 65 20 70 68 6f 74 6f 20 6d 79 70 68 6f 74 ate photo myphot
ca30: 6f 0d 0a 20 20 20 20 62 6f 72 67 20 61 63 74 69 o.. borg acti
ca40: 76 69 74 79 20 61 6e 64 72 6f 69 64 2e 6d 65 64 vity android.med
ca50: 69 61 2e 61 63 74 69 6f 6e 2e 49 4d 41 47 45 5f ia.action.IMAGE_
ca60: 43 41 50 54 55 52 45 20 7b 7d 20 7b 7d 20 7b 7d CAPTURE {} {} {}
ca70: 20 7b 7d 20 7b 7d 20 63 61 6c 6c 62 61 63 6b 0d {} {} callback.
ca80: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a .</verbatim>....
ca90: 53 61 6d 70 6c 65 20 63 6f 64 65 20 74 6f 20 63 Sample code to c
caa0: 61 70 74 75 72 65 20 61 6e 20 69 6d 61 67 65 2c apture an image,
cab0: 20 77 68 69 63 68 20 6d 61 6b 65 73 20 66 75 6c which makes ful
cac0: 6c 20 73 69 7a 65 20 69 6d 61 67 65 73 20 62 75 l size images bu
cad0: 74 20 72 65 71 75 69 72 65 73 20 61 20 66 69 6c t requires a fil
cae0: 65 20 6f 6e 20 65 78 74 65 72 6e 61 6c 20 73 74 e on external st
caf0: 6f 72 61 67 65 3a 0d 0a 0d 0a 3c 76 65 72 62 61 orage:....<verba
cb00: 74 69 6d 3e 0d 0a 20 20 20 20 70 72 6f 63 20 63 tim>.. proc c
cb10: 61 6c 6c 62 61 63 6b 20 7b 66 69 6c 65 6e 61 6d allback {filenam
cb20: 65 20 72 65 74 63 6f 64 65 20 61 63 74 69 6f 6e e retcode action
cb30: 20 75 72 69 20 6d 69 6d 65 74 79 70 65 20 63 61 uri mimetype ca
cb40: 74 65 67 6f 72 69 65 73 20 64 61 74 61 7d 20 7b tegories data} {
cb50: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 7b 24 72 .. if {$r
cb60: 65 74 63 6f 64 65 20 3d 3d 20 2d 31 7d 20 7b 0d etcode == -1} {.
cb70: 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 53 . # S
cb80: 55 43 43 45 53 53 0d 0a 20 20 20 20 20 20 20 20 UCCESS..
cb90: 20 20 20 20 6d 79 70 68 6f 74 6f 20 63 6f 6e 66 myphoto conf
cba0: 69 67 75 72 65 20 2d 66 69 6c 65 20 24 66 69 6c igure -file $fil
cbb0: 65 6e 61 6d 65 0d 0a 20 20 20 20 20 20 20 20 20 ename..
cbc0: 20 20 20 63 61 74 63 68 20 7b 66 69 6c 65 20 64 catch {file d
cbd0: 65 6c 65 74 65 20 2d 66 6f 72 63 65 20 24 66 69 elete -force $fi
cbe0: 6c 65 6e 61 6d 65 7d 0d 0a 20 20 20 20 20 20 20 lename}..
cbf0: 20 7d 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 70 }.. }.. p
cc00: 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 49 ackage require I
cc10: 6d 67 0d 0a 20 20 20 20 69 6d 61 67 65 20 63 72 mg.. image cr
cc20: 65 61 74 65 20 70 68 6f 74 6f 20 6d 79 70 68 6f eate photo mypho
cc30: 74 6f 0d 0a 20 20 20 20 73 65 74 20 66 69 6c 65 to.. set file
cc40: 6e 61 6d 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 name [file join
cc50: 24 65 6e 76 28 45 58 54 45 52 4e 41 4c 5f 46 49 $env(EXTERNAL_FI
cc60: 4c 45 53 29 20 6d 79 70 68 6f 74 6f 2e 6a 70 65 LES) myphoto.jpe
cc70: 67 5d 0d 0a 20 20 20 20 62 6f 72 67 20 61 63 74 g].. borg act
cc80: 69 76 69 74 79 20 61 6e 64 72 6f 69 64 2e 6d 65 ivity android.me
cc90: 64 69 61 2e 61 63 74 69 6f 6e 2e 49 4d 41 47 45 dia.action.IMAGE
cca0: 5f 43 41 50 54 55 52 45 20 7b 7d 20 7b 7d 20 7b _CAPTURE {} {} {
ccb0: 7d 20 7b 7d 20 5c 0d 0a 20 20 20 20 20 20 20 5b } {} \.. [
ccc0: 6c 69 73 74 20 7b 55 72 69 20 6f 75 74 70 75 74 list {Uri output
ccd0: 7d 20 66 69 6c 65 3a 2f 2f 24 66 69 6c 65 6e 61 } file://$filena
cce0: 6d 65 5d 20 5b 6c 69 73 74 20 63 61 6c 6c 62 61 me] [list callba
ccf0: 63 6b 20 24 66 69 6c 65 6e 61 6d 65 5d 0d 0a 3c ck $filename]..<
cd00: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 52 65 /verbatim>....Re
cd10: 61 64 69 6e 67 20 62 61 72 63 6f 64 65 73 20 75 ading barcodes u
cd20: 73 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 66 sing the <a href
cd30: 3d 22 68 74 74 70 3a 2f 2f 63 6f 64 65 2e 67 6f ="http://code.go
cd40: 6f 67 6c 65 2e 63 6f 6d 2f 70 2f 7a 78 69 6e 67 ogle.com/p/zxing
cd50: 22 3e 5a 58 69 6e 67 20 62 61 72 63 6f 64 65 20 ">ZXing barcode
cd60: 73 63 61 6e 6e 65 72 3c 2f 61 3e 20 28 77 68 69 scanner</a> (whi
cd70: 63 68 20 6e 65 65 64 73 20 74 6f 20 62 65 20 62 ch needs to be b
cd80: 65 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 20 79 e installed on y
cd90: 6f 75 72 20 64 65 76 69 63 65 29 3a 0d 0a 0d 0a our device):....
cda0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 20 20 20 20 <verbatim>..
cdb0: 70 72 6f 63 20 62 61 72 63 6f 64 65 5f 72 65 61 proc barcode_rea
cdc0: 64 20 7b 63 6f 64 65 20 61 63 74 69 6f 6e 20 75 d {code action u
cdd0: 72 69 20 74 79 70 65 20 63 61 74 20 64 61 74 61 ri type cat data
cde0: 7d 20 7b 0d 0a 20 20 20 20 20 20 20 20 61 72 72 } {.. arr
cdf0: 61 79 20 73 65 74 20 72 65 73 75 6c 74 20 24 64 ay set result $d
ce00: 61 74 61 0d 0a 20 20 20 20 20 20 20 20 69 66 20 ata.. if
ce10: 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 72 65 {[info exists re
ce20: 73 75 6c 74 28 53 43 41 4e 5f 52 45 53 55 4c 54 sult(SCAN_RESULT
ce30: 29 5d 7d 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 )]} {..
ce40: 20 20 20 23 20 74 68 61 74 20 69 73 20 74 68 65 # that is the
ce50: 20 62 61 72 63 6f 64 65 0d 0a 20 20 20 20 20 20 barcode..
ce60: 20 20 20 20 20 20 23 20 72 65 73 75 6c 74 28 53 # result(S
ce70: 43 41 4e 5f 52 45 53 55 4c 54 5f 46 4f 52 4d 41 CAN_RESULT_FORMA
ce80: 54 29 20 69 73 20 74 68 65 20 62 61 72 63 6f 64 T) is the barcod
ce90: 65 20 66 6f 72 6d 61 74 0d 0a 20 20 20 20 20 20 e format..
cea0: 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 }.. }....
ceb0: 20 20 62 6f 72 67 20 61 63 74 69 76 69 74 79 20 borg activity
cec0: 63 6f 6d 2e 67 6f 6f 67 6c 65 2e 7a 78 69 6e 67 com.google.zxing
ced0: 2e 63 6c 69 65 6e 74 2e 61 6e 64 72 6f 69 64 2e .client.android.
cee0: 53 43 41 4e 20 7b 7d 20 7b 7d 20 7b 7d 20 7b 7d SCAN {} {} {} {}
cef0: 20 7b 7d 20 62 61 72 63 6f 64 65 5f 72 65 61 64 {} barcode_read
cf00: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0a 5a 20 ..</verbatim>.Z
cf10: 64 32 31 34 35 65 36 39 38 34 64 32 39 39 65 31 d2145e6984d299e1
cf20: 61 64 34 35 39 31 66 66 61 37 33 32 30 32 35 32 ad4591ffa7320252
cf30: 0a .