@urovotest/urovosdk-docs-mcp 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +176 -0
  2. package/docs/00-overview.md +37 -0
  3. package/docs/01-integration/android-permissions.md +22 -0
  4. package/docs/01-integration/quickstart-zh.md +54 -0
  5. package/docs/02-reference/emv/emv-api.md +3308 -0
  6. package/docs/02-reference/emv/emv-appendix.md +112 -0
  7. package/docs/02-reference/emv/emv-callback.md +1155 -0
  8. package/docs/02-reference/emv/emv-enum.md +324 -0
  9. package/docs/02-reference/error-codes.md +59 -0
  10. package/docs/02-reference/general/beeper.md +160 -0
  11. package/docs/02-reference/general/devicemanager.md +460 -0
  12. package/docs/02-reference/general/insertcardreader.md +307 -0
  13. package/docs/02-reference/general/install-manager.md +202 -0
  14. package/docs/02-reference/general/led-light.md +144 -0
  15. package/docs/02-reference/general/magcardreader.md +191 -0
  16. package/docs/02-reference/general/pinpad.md +3309 -0
  17. package/docs/02-reference/general/printer.md +1410 -0
  18. package/docs/02-reference/general/psam2.md +55 -0
  19. package/docs/02-reference/general/rfcardreader.md +1090 -0
  20. package/docs/02-reference/general/scanner-custom.md +196 -0
  21. package/docs/02-reference/general/scanner.md +214 -0
  22. package/docs/02-reference/general/sdk-log-output-management.md +124 -0
  23. package/docs/02-reference/general/serial-port-deprecated-suggest-using-module-14-serialtool.md +406 -0
  24. package/docs/02-reference/general/serial-port.md +326 -0
  25. package/docs/02-reference/general/sle4428-4436-4442.md +1890 -0
  26. package/docs/02-reference/general/system-manager.md +212 -0
  27. package/docs/02-reference/module-index.md +30 -0
  28. package/docs/02-reference/source-emv_sdk.md +3927 -0
  29. package/docs/02-reference/source-general_sdk.md +8978 -0
  30. package/docs/02-reference/undocumented/kiosk-lock-task.md +92 -0
  31. package/docs/03-demo/activity-map.md +27 -0
  32. package/docs/api-registry.json +4733 -0
  33. package/docs/search-index.json +2688 -0
  34. package/docs/source/emv_sdk.md +3927 -0
  35. package/docs/source/general_sdk.md +8978 -0
  36. package/docs/source/kiosk_lock_task.md +86 -0
  37. package/package.json +36 -0
  38. package/src/launch.js +22 -0
  39. package/src/lib/check-update.js +92 -0
  40. package/src/lib/create-mcp-server.js +90 -0
  41. package/src/lib/docs-tools.js +206 -0
  42. package/src/server.js +10 -0
@@ -0,0 +1,1890 @@
1
+ ---
2
+ title: SLE4428/4436/4442 API
3
+ module: SLE4428/4436/4442
4
+ domain: general
5
+ tags: ["general", "sle4428-4436-4442", "sle4428/4436/4442"]
6
+ ---
7
+ # SLE4428/4436/4442
8
+
9
+ 共 **24** 个 API/条目,来源 `general_sdk.md`。
10
+
11
+ ## API 索引
12
+
13
+ | 方法 | 类路径 | Demo Activity |
14
+ |------|--------|---------------|
15
+ | [open](#open) | `andoird.device.IccManager` | - |
16
+ | [close](#close) | `andoird.device.IccManager` | - |
17
+ | [detect](#detect) | `andoird.device.IccManager` | - |
18
+ | [sle4428_reset](#sle4428-reset) | `andoird.device.IccManager` | - |
19
+ | [sle4428_readMemory](#sle4428-readmemory) | `andoird.device.IccManager` | - |
20
+ | [sle4428_writeMemory](#sle4428-writememory) | `andoird.device.IccManager` | - |
21
+ | [sle4428_password](#sle4428-password) | `andoird.device.IccManager` | - |
22
+ | [sle4436_reset](#sle4436-reset) | `andoird.device.IccManager` | - |
23
+ | [sle4436_readMemory](#sle4436-readmemory) | `andoird.device.IccManager` | - |
24
+ | [sle4436_writeMemory](#sle4436-writememory) | `andoird.device.IccManager` | - |
25
+ | [sle4436_verifyPassword](#sle4436-verifypassword) | `andoird.device.IccManager` | - |
26
+ | [sle4436_regIncrease](#sle4436-regincrease) | `andoird.device.IccManager` | - |
27
+ | [sle4436_readBit](#sle4436-readbit) | `andoird.device.IccManager` | - |
28
+ | [sle4436_writeBit](#sle4436-writebit) | `andoird.device.IccManager` | - |
29
+ | [sle4436_reloadByte](#sle4436-reloadbyte) | `andoird.device.IccManager` | - |
30
+ | [sle4436_decValue](#sle4436-decvalue) | `andoird.device.IccManager` | - |
31
+ | [sle4442_reset](#sle4442-reset) | `andoird.device.IccManager` | - |
32
+ | [sle4442_readMainMemory](#sle4442-readmainmemory) | `andoird.device.IccManager` | - |
33
+ | [sle4442_writeMainMemory](#sle4442-writemainmemory) | `andoird.device.IccManager` | - |
34
+ | [sle4442_readProtectionMemory](#sle4442-readprotectionmemory) | `andoird.device.IccManager` | - |
35
+ | [sle4442_writeProtectionMemory](#sle4442-writeprotectionmemory) | `andoird.device.IccManager` | - |
36
+ | [sle4442_verifyPassword](#sle4442-verifypassword) | `andoird.device.IccManager` | - |
37
+ | [sle4442_changePassword](#sle4442-changepassword) | `andoird.device.IccManager` | - |
38
+ | [sle4442_readErrorCounter](#sle4442-readerrorcounter) | `andoird.device.IccManager` | - |
39
+
40
+ ## open
41
+
42
+ Open the IC card for operation.
43
+
44
+ ```java
45
+ int open(byte slot, byte CardType, byte Volt)
46
+ ```
47
+
48
+ - **类路径:** `andoird.device.IccManager`
49
+ - **源文档章节:** 16.1
50
+
51
+ - Source section: `16.1`
52
+
53
+ - Package/class path: `andoird.device.IccManager`
54
+
55
+
56
+
57
+ Purpose:
58
+ Open the IC card for operation.
59
+
60
+
61
+ Signature/prototype:
62
+ ```java
63
+ int open(byte slot, byte CardType, byte Volt)
64
+ ```
65
+
66
+
67
+ Parameters:
68
+ Input
69
+ slot - card slot type. (0-IC slot.)
70
+
71
+ CardType - card type. (0x02-SLE4428/4436/4442)
72
+
73
+ Volt - valtage to supply.
74
+ 0x01 : 3V
75
+ 0x02 : 5V
76
+ 0x03 : 1.8V
77
+ Output
78
+ None
79
+
80
+
81
+ Return value:
82
+ 0-success, others-failed.
83
+
84
+
85
+ Usage notes:
86
+ The card reader will automatically cycle through three voltage values, so it is only necessary to set the voltage value to 0x01.
87
+
88
+
89
+ Source details:
90
+ ```text
91
+ Prototype
92
+ int open(byte slot, byte CardType, byte Volt)
93
+ Description
94
+ Open the IC card for operation.
95
+ Parameters
96
+ Input
97
+ slot - card slot type. (0-IC slot.)
98
+
99
+ CardType - card type. (0x02-SLE4428/4436/4442)
100
+
101
+ Volt - valtage to supply.
102
+ 0x01 : 3V
103
+ 0x02 : 5V
104
+ 0x03 : 1.8V
105
+ Output
106
+ None
107
+ Return
108
+ 0-success, others-failed.
109
+ Remark
110
+ The card reader will automatically cycle through three voltage values, so it is only necessary to set the voltage value to 0x01.
111
+ ```
112
+
113
+ ## close
114
+
115
+ Close the slot.
116
+
117
+ ```java
118
+ int close()
119
+ ```
120
+
121
+ - **类路径:** `andoird.device.IccManager`
122
+ - **源文档章节:** 16.2
123
+
124
+ - Source section: `16.2`
125
+
126
+ - Package/class path: `andoird.device.IccManager`
127
+
128
+
129
+
130
+ Purpose:
131
+ Close the slot.
132
+
133
+
134
+ Signature/prototype:
135
+ ```java
136
+ int close()
137
+ ```
138
+
139
+
140
+ Parameters:
141
+ Input
142
+ None
143
+ Output
144
+ None
145
+
146
+
147
+ Return value:
148
+ 0-success, others-failed.
149
+
150
+
151
+ Source details:
152
+ ```text
153
+ Prototype
154
+ int close()
155
+ Description
156
+ Close the slot.
157
+ Parameters
158
+ Input
159
+ None
160
+ Output
161
+ None
162
+ Return
163
+ 0-success, others-failed.
164
+ Remark
165
+ ```
166
+
167
+ ## detect
168
+
169
+ Check if IC card is inserted.
170
+
171
+ ```java
172
+ int detect()
173
+ ```
174
+
175
+ - **类路径:** `andoird.device.IccManager`
176
+ - **源文档章节:** 16.3
177
+
178
+ - Source section: `16.3`
179
+
180
+ - Package/class path: `andoird.device.IccManager`
181
+
182
+
183
+
184
+ Purpose:
185
+ Check if IC card is inserted.
186
+
187
+
188
+ Signature/prototype:
189
+ ```java
190
+ int detect()
191
+ ```
192
+
193
+
194
+ Parameters:
195
+ Input
196
+ None
197
+ Output
198
+ None
199
+
200
+
201
+ Return value:
202
+ 0-success, others-failed.
203
+
204
+
205
+ Source details:
206
+ ```text
207
+ Prototype
208
+ int detect()
209
+ Description
210
+ Check if IC card is inserted.
211
+ Parameters
212
+ Input
213
+ None
214
+ Output
215
+ None
216
+ Return
217
+ 0-success, others-failed.
218
+ Remark
219
+ ```
220
+
221
+ ## sle4428_reset
222
+
223
+ reset the SLE4428.
224
+
225
+ ```java
226
+ public int sle4428_reset(byte[] pAtr)
227
+ ```
228
+
229
+ - **类路径:** `andoird.device.IccManager`
230
+ - **源文档章节:** 16.4
231
+
232
+ - Source section: `16.4`
233
+
234
+ - Package/class path: `andoird.device.IccManager`
235
+
236
+
237
+
238
+ Purpose:
239
+ reset the SLE4428.
240
+
241
+
242
+ Signature/prototype:
243
+ ```java
244
+ public int sle4428_reset(byte[] pAtr)
245
+ ```
246
+
247
+
248
+ Parameters:
249
+ Input
250
+ None
251
+ Output
252
+ pAtr - To store the return ATR.
253
+
254
+
255
+ Return value:
256
+ Length of ATR, negative number if failed.
257
+
258
+
259
+ Source details:
260
+ ```text
261
+ Prototype
262
+ public int sle4428_reset(byte[] pAtr)
263
+ Description
264
+ reset the SLE4428.
265
+ Parameters
266
+ Input
267
+ None
268
+ Output
269
+ pAtr - To store the return ATR.
270
+ Return
271
+ Length of ATR, negative number if failed.
272
+ Remark
273
+ ```
274
+
275
+ ## sle4428_readMemory
276
+
277
+ Read the data stored in main memory for SLE4428.
278
+
279
+ ```java
280
+ public byte[] sle4428_readMemory(int addr, int length)
281
+ ```
282
+
283
+ - **类路径:** `andoird.device.IccManager`
284
+ - **源文档章节:** 16.5
285
+
286
+ - Source section: `16.5`
287
+
288
+ - Package/class path: `andoird.device.IccManager`
289
+
290
+
291
+
292
+ Purpose:
293
+ Read the data stored in main memory for SLE4428.
294
+
295
+
296
+ Signature/prototype:
297
+ ```java
298
+ public byte[] sle4428_readMemory(int addr, int length)
299
+ ```
300
+
301
+
302
+ Parameters:
303
+ Input
304
+ addr - The starting address of operation data, the range of the parameters of the SLE4428 card is 0 to 0x3FF.
305
+ length - To read the data length, the range of the parameters of the SLE4428 card is 1 to 0x400. ByteAddr and Length cannot be greater than the actual capacity of the card, otherwise the reader will refuse to execute the command and returns an error.
306
+ Output
307
+ None
308
+
309
+
310
+ Return value:
311
+ Byte array indicating the store data if successful, null if failed.
312
+
313
+
314
+ Source details:
315
+ ```text
316
+ Prototype
317
+ public byte[] sle4428_readMemory(int addr, int length)
318
+ Description
319
+ Read the data stored in main memory for SLE4428.
320
+ Parameters
321
+ Input
322
+ addr - The starting address of operation data, the range of the parameters of the SLE4428 card is 0 to 0x3FF.
323
+ length - To read the data length, the range of the parameters of the SLE4428 card is 1 to 0x400. ByteAddr and Length cannot be greater than the actual capacity of the card, otherwise the reader will refuse to execute the command and returns an error.
324
+ Output
325
+ None
326
+ Return
327
+ Byte array indicating the store data if successful, null if failed.
328
+ Remark
329
+ ```
330
+
331
+ ## sle4428_writeMemory
332
+
333
+ Write data to the main storage area SLE4428.
334
+
335
+ ```java
336
+ public int sle4428_writeMemory(int addr, byte[] data, int dataLen)
337
+ ```
338
+
339
+ - **类路径:** `andoird.device.IccManager`
340
+ - **源文档章节:** 16.6
341
+
342
+ - Source section: `16.6`
343
+
344
+ - Package/class path: `andoird.device.IccManager`
345
+
346
+
347
+
348
+ Purpose:
349
+ Write data to the main storage area SLE4428.
350
+
351
+
352
+ Signature/prototype:
353
+ ```java
354
+ public int sle4428_writeMemory(int addr, byte[] data, int dataLen)
355
+ ```
356
+
357
+
358
+ Parameters:
359
+ Input
360
+ addr - The starting address of operation data, the range of the parameters of the SLE4428 card is 0 to 0x3FF.
361
+
362
+ data - The data to be written.
363
+
364
+ dataLen - The data length, max 0x400.
365
+ Output
366
+ None
367
+
368
+
369
+ Return value:
370
+ 0-success, others-failed.
371
+
372
+
373
+ Source details:
374
+ ```text
375
+ Prototype
376
+ public int sle4428_writeMemory(int addr, byte[] data, int dataLen)
377
+ Description
378
+ Write data to the main storage area SLE4428.
379
+ Parameters
380
+ Input
381
+ addr - The starting address of operation data, the range of the parameters of the SLE4428 card is 0 to 0x3FF.
382
+
383
+ data - The data to be written.
384
+
385
+ dataLen - The data length, max 0x400.
386
+ Output
387
+ None
388
+ Return
389
+ 0-success, others-failed.
390
+ Remark
391
+ ```
392
+
393
+ ## sle4428_password
394
+
395
+ Submit the transfer data, enter the personalization mode.
396
+
397
+ ```java
398
+ public int sle4428_password(int mode, byte[] data)
399
+ ```
400
+
401
+ - **类路径:** `andoird.device.IccManager`
402
+ - **源文档章节:** 16.7
403
+
404
+ - Source section: `16.7`
405
+
406
+ - Package/class path: `andoird.device.IccManager`
407
+
408
+
409
+
410
+ Purpose:
411
+ Submit the transfer data, enter the personalization mode.
412
+
413
+
414
+ Signature/prototype:
415
+ ```java
416
+ public int sle4428_password(int mode, byte[] data)
417
+ ```
418
+
419
+
420
+ Parameters:
421
+ Input
422
+ mode - 0 verify password or 1 changed password.
423
+
424
+ data - The data buffer pointer password, password here to store data migration and card in the password.
425
+ Output
426
+ None
427
+
428
+
429
+ Return value:
430
+ 0-success, others-failed.
431
+
432
+
433
+ Source details:
434
+ ```text
435
+ Prototype
436
+ public int sle4428_password(int mode, byte[] data)
437
+ Description
438
+ Submit the transfer data, enter the personalization mode.
439
+ Parameters
440
+ Input
441
+ mode - 0 verify password or 1 changed password.
442
+
443
+ data - The data buffer pointer password, password here to store data migration and card in the password.
444
+ Output
445
+ None
446
+ Return
447
+ 0-success, others-failed.
448
+ Remark
449
+ ```
450
+
451
+ ## sle4436_reset
452
+
453
+ Reset the SLE4436.
454
+
455
+ ```java
456
+ public int sle4436_reset(byte[] pAtr)
457
+ ```
458
+
459
+ - **类路径:** `andoird.device.IccManager`
460
+ - **源文档章节:** 16.8
461
+
462
+ - Source section: `16.8`
463
+
464
+ - Package/class path: `andoird.device.IccManager`
465
+
466
+
467
+
468
+ Purpose:
469
+ Reset the SLE4436.
470
+
471
+
472
+ Signature/prototype:
473
+ ```java
474
+ public int sle4436_reset(byte[] pAtr)
475
+ ```
476
+
477
+
478
+ Parameters:
479
+ Input
480
+ pAtr - To store the return ATR.
481
+ Output
482
+ None
483
+
484
+
485
+ Return value:
486
+ Length of ATR, negative number if failed.
487
+
488
+
489
+ Source details:
490
+ ```text
491
+ Prototype
492
+ public int sle4436_reset(byte[] pAtr)
493
+ Description
494
+ Reset the SLE4436.
495
+ Parameters
496
+ Input
497
+ pAtr - To store the return ATR.
498
+ Output
499
+ None
500
+ Return
501
+ Length of ATR, negative number if failed.
502
+ Remark
503
+ ```
504
+
505
+ ## sle4436_readMemory
506
+
507
+ Read the data stored in main memory for SLE4436.
508
+
509
+ ```java
510
+ public byte[] sle4436_readMemory(int addr, int length)
511
+ ```
512
+
513
+ - **类路径:** `andoird.device.IccManager`
514
+ - **源文档章节:** 16.9
515
+
516
+ - Source section: `16.9`
517
+
518
+ - Package/class path: `andoird.device.IccManager`
519
+
520
+
521
+
522
+ Purpose:
523
+ Read the data stored in main memory for SLE4436.
524
+
525
+
526
+ Signature/prototype:
527
+ ```java
528
+ public byte[] sle4436_readMemory(int addr, int length)
529
+ ```
530
+
531
+
532
+ Parameters:
533
+ Input
534
+ addr - The starting address of operation data, the range of the parameters of the SLE4436 card is 0 to 112.
535
+
536
+ length - To read the data length, the range of the parameters of the SLE4436 card is 1 to 112. ByteAddr and Length cannot be greater than the actual capacity of the card, otherwise the reader will refuse to execute the command and returns an error.
537
+
538
+ Output
539
+ None
540
+
541
+
542
+ Return value:
543
+ Byte array indicating the store data if successful, null if failed.
544
+
545
+
546
+ Source details:
547
+ ```text
548
+ Prototype
549
+ public byte[] sle4436_readMemory(int addr, int length)
550
+ Description
551
+ Read the data stored in main memory for SLE4436.
552
+ Parameters
553
+ Input
554
+ addr - The starting address of operation data, the range of the parameters of the SLE4436 card is 0 to 112.
555
+
556
+ length - To read the data length, the range of the parameters of the SLE4436 card is 1 to 112. ByteAddr and Length cannot be greater than the actual capacity of the card, otherwise the reader will refuse to execute the command and returns an error.
557
+
558
+ Output
559
+ None
560
+ Return
561
+ Byte array indicating the store data if successful, null if failed.
562
+ Remark
563
+ ```
564
+
565
+ ## sle4436_writeMemory
566
+
567
+ Write data to the main storage area SLE4436.
568
+
569
+ ```java
570
+ public int sle4436_writeMemory(int addr, byte[] data, int dataLen)
571
+ ```
572
+
573
+ - **类路径:** `andoird.device.IccManager`
574
+ - **源文档章节:** 16.10
575
+
576
+ - Source section: `16.10`
577
+
578
+ - Package/class path: `andoird.device.IccManager`
579
+
580
+
581
+
582
+ Purpose:
583
+ Write data to the main storage area SLE4436.
584
+
585
+
586
+ Signature/prototype:
587
+ ```java
588
+ public int sle4436_writeMemory(int addr, byte[] data, int dataLen)
589
+ ```
590
+
591
+
592
+ Parameters:
593
+ Input
594
+ addr - The starting address of operation data, the range of the parameters of the SLE4436 card is 0 to 112.
595
+
596
+ data - The data to be written.
597
+
598
+ dataLen - The data length.
599
+ Output
600
+ None
601
+
602
+
603
+ Return value:
604
+ 0-success, others-failed.
605
+
606
+
607
+ Source details:
608
+ ```text
609
+ Prototype
610
+ public int sle4436_writeMemory(int addr, byte[] data, int dataLen)
611
+ Description
612
+ Write data to the main storage area SLE4436.
613
+ Parameters
614
+ Input
615
+ addr - The starting address of operation data, the range of the parameters of the SLE4436 card is 0 to 112.
616
+
617
+ data - The data to be written.
618
+
619
+ dataLen - The data length.
620
+ Output
621
+ None
622
+ Return
623
+ 0-success, others-failed.
624
+ Remark
625
+ ```
626
+
627
+ ## sle4436_verifyPassword
628
+
629
+ Submit the transfer data, enter the personalization mode.
630
+
631
+ ```java
632
+ public int sle4436_verifyPassword(byte[] passwd)
633
+ ```
634
+
635
+ - **类路径:** `andoird.device.IccManager`
636
+ - **源文档章节:** 16.11
637
+
638
+ - Source section: `16.11`
639
+
640
+ - Package/class path: `andoird.device.IccManager`
641
+
642
+
643
+
644
+ Purpose:
645
+ Submit the transfer data, enter the personalization mode.
646
+
647
+
648
+ Signature/prototype:
649
+ ```java
650
+ public int sle4436_verifyPassword(byte[] passwd)
651
+ ```
652
+
653
+
654
+ Parameters:
655
+ Input
656
+ passwd - The data buffer pointer password, password here to store data migration and card in the password.
657
+ Output
658
+ None
659
+
660
+
661
+ Return value:
662
+ 0-success, others-failed.
663
+
664
+
665
+ Source details:
666
+ ```text
667
+ Prototype
668
+ public int sle4436_verifyPassword(byte[] passwd)
669
+ Description
670
+ Submit the transfer data, enter the personalization mode.
671
+ Parameters
672
+ Input
673
+ passwd - The data buffer pointer password, password here to store data migration and card in the password.
674
+ Output
675
+ None
676
+ Return
677
+ 0-success, others-failed.
678
+ Remark
679
+ ```
680
+
681
+ ## sle4436_regIncrease
682
+
683
+ Move the register.
684
+
685
+ ```java
686
+ public int sle4436_regIncrease(int shiftBits)
687
+ ```
688
+
689
+ - **类路径:** `andoird.device.IccManager`
690
+ - **源文档章节:** 16.12
691
+
692
+ - Source section: `16.12`
693
+
694
+ - Package/class path: `andoird.device.IccManager`
695
+
696
+
697
+
698
+ Purpose:
699
+ Move the register.
700
+
701
+
702
+ Signature/prototype:
703
+ ```java
704
+ public int sle4436_regIncrease(int shiftBits)
705
+ ```
706
+
707
+
708
+ Parameters:
709
+ Input
710
+ shiftBits - Move Bits.
711
+ Output
712
+ None
713
+
714
+
715
+ Return value:
716
+ 0-success, others-failed.
717
+
718
+
719
+ Source details:
720
+ ```text
721
+ Prototype
722
+ public int sle4436_regIncrease(int shiftBits)
723
+ Description
724
+ Move the register.
725
+ Parameters
726
+ Input
727
+ shiftBits - Move Bits.
728
+ Output
729
+ None
730
+ Return
731
+ 0-success, others-failed.
732
+ Remark
733
+ ```
734
+
735
+ ## sle4436_readBit
736
+
737
+ Read values from the Card bit.
738
+
739
+ ```java
740
+ public int sle4436_readBit(byte[] pData)
741
+ ```
742
+
743
+ - **类路径:** `andoird.device.IccManager`
744
+ - **源文档章节:** 16.13
745
+
746
+ - Source section: `16.13`
747
+
748
+ - Package/class path: `andoird.device.IccManager`
749
+
750
+
751
+
752
+ Purpose:
753
+ Read values from the Card bit.
754
+
755
+
756
+ Signature/prototype:
757
+ ```java
758
+ public int sle4436_readBit(byte[] pData)
759
+ ```
760
+
761
+
762
+ Parameters:
763
+ Input
764
+ pData - Store the value read from the card.
765
+ Output
766
+ None
767
+
768
+
769
+ Return value:
770
+ 0-success, others-failed.
771
+
772
+
773
+ Source details:
774
+ ```text
775
+ Prototype
776
+ public int sle4436_readBit(byte[] pData)
777
+ Description
778
+ Read values from the Card bit.
779
+ Parameters
780
+ Input
781
+ pData - Store the value read from the card.
782
+ Output
783
+ None
784
+ Return
785
+ 0-success, others-failed.
786
+ Remark
787
+ ```
788
+
789
+ ## sle4436_writeBit
790
+
791
+ Write a bit for Card.
792
+
793
+ ```java
794
+ public int sle4436_writeBit()
795
+ ```
796
+
797
+ - **类路径:** `andoird.device.IccManager`
798
+ - **源文档章节:** 16.14
799
+
800
+ - Source section: `16.14`
801
+
802
+ - Package/class path: `andoird.device.IccManager`
803
+
804
+
805
+
806
+ Purpose:
807
+ Write a bit for Card.
808
+
809
+
810
+ Signature/prototype:
811
+ ```java
812
+ public int sle4436_writeBit()
813
+ ```
814
+
815
+
816
+ Parameters:
817
+ Input
818
+ None
819
+ Output
820
+ None
821
+
822
+
823
+ Return value:
824
+ 0-success, others-failed.
825
+
826
+
827
+ Source details:
828
+ ```text
829
+ Prototype
830
+ public int sle4436_writeBit()
831
+ Description
832
+ Write a bit for Card.
833
+ Parameters
834
+ Input
835
+ None
836
+ Output
837
+ None
838
+ Return
839
+ 0-success, others-failed.
840
+ Remark
841
+ ```
842
+
843
+ ## sle4436_reloadByte
844
+
845
+ Reload Byte.
846
+
847
+ ```java
848
+ public int sle4436_reloadByte()
849
+ ```
850
+
851
+ - **类路径:** `andoird.device.IccManager`
852
+ - **源文档章节:** 16.15
853
+
854
+ - Source section: `16.15`
855
+
856
+ - Package/class path: `andoird.device.IccManager`
857
+
858
+
859
+
860
+ Purpose:
861
+ Reload Byte.
862
+
863
+
864
+ Signature/prototype:
865
+ ```java
866
+ public int sle4436_reloadByte()
867
+ ```
868
+
869
+
870
+ Parameters:
871
+ Input
872
+ None
873
+ Output
874
+ None
875
+
876
+
877
+ Return value:
878
+ 0-success, others-failed.
879
+
880
+
881
+ Source details:
882
+ ```text
883
+ Prototype
884
+ public int sle4436_reloadByte()
885
+ Description
886
+ Reload Byte.
887
+ Parameters
888
+ Input
889
+ None
890
+ Output
891
+ None
892
+ Return
893
+ 0-success, others-failed.
894
+ Remark
895
+ ```
896
+
897
+ ## sle4436_decValue
898
+
899
+ Reduction balance.
900
+
901
+ ```java
902
+ public int sle4436_decValue(int pValue)
903
+ ```
904
+
905
+ - **类路径:** `andoird.device.IccManager`
906
+ - **源文档章节:** 16.16
907
+
908
+ - Source section: `16.16`
909
+
910
+ - Package/class path: `andoird.device.IccManager`
911
+
912
+
913
+
914
+ Purpose:
915
+ Reduction balance.
916
+
917
+
918
+ Signature/prototype:
919
+ ```java
920
+ public int sle4436_decValue(int pValue)
921
+ ```
922
+
923
+
924
+ Parameters:
925
+ Input
926
+ pValue - The amount of money to be eduction.
927
+ Output
928
+ None
929
+
930
+
931
+ Return value:
932
+ The card balance if successful, -1 if failed.
933
+
934
+
935
+ Source details:
936
+ ```text
937
+ Prototype
938
+ public int sle4436_decValue(int pValue)
939
+ Description
940
+ Reduction balance.
941
+ Parameters
942
+ Input
943
+ pValue - The amount of money to be eduction.
944
+ Output
945
+ None
946
+ Return
947
+ The card balance if successful, -1 if failed.
948
+ Remark
949
+ ```
950
+
951
+ ## sle4442_reset
952
+
953
+ reset the SLE4442..
954
+
955
+ ```java
956
+ int sle4442_reset(byte[] pAtr)
957
+ ```
958
+
959
+ - **类路径:** `andoird.device.IccManager`
960
+ - **源文档章节:** 16.17
961
+
962
+ - Source section: `16.17`
963
+
964
+ - Package/class path: `andoird.device.IccManager`
965
+
966
+
967
+
968
+ Purpose:
969
+ reset the SLE4442..
970
+
971
+
972
+ Signature/prototype:
973
+ ```java
974
+ int sle4442_reset(byte[] pAtr)
975
+ ```
976
+
977
+
978
+ Parameters:
979
+ Input
980
+ None
981
+ Output
982
+ None
983
+
984
+
985
+ Return value:
986
+ 0-success, others-failed.
987
+
988
+
989
+ Source details:
990
+ ```text
991
+ Prototype
992
+ int sle4442_reset(byte[] pAtr)
993
+ Description
994
+ reset the SLE4442..
995
+ Parameters
996
+ Input
997
+ None
998
+ Output
999
+ None
1000
+ Return
1001
+ 0-success, others-failed.
1002
+ Remark
1003
+ ```
1004
+
1005
+ ## sle4442_readMainMemory
1006
+
1007
+ Read the data stored in main memory for SLE4442.
1008
+
1009
+ ```java
1010
+ byte[] sle4442_readMainMemory(int addr, int length)
1011
+ ```
1012
+
1013
+ - **类路径:** `andoird.device.IccManager`
1014
+ - **源文档章节:** 16.18
1015
+
1016
+ - Source section: `16.18`
1017
+
1018
+ - Package/class path: `andoird.device.IccManager`
1019
+
1020
+
1021
+
1022
+ Purpose:
1023
+ Read the data stored in main memory for SLE4442.
1024
+
1025
+
1026
+ Signature/prototype:
1027
+ ```java
1028
+ byte[] sle4442_readMainMemory(int addr, int length)
1029
+ ```
1030
+
1031
+
1032
+ Parameters:
1033
+ Input
1034
+ addr - The starting address of operation data, the range of the parameters of the SLE4442 card is 0 to 255.
1035
+  length- To read the data length, the range of the parameters of the SLE4442 card is 1 to 256. ByteAddr and Length cannot be greater than the actual capacity of the card, otherwise the
1036
+ reader will refuse to execute the command and returns an error.
1037
+ Output
1038
+ None
1039
+
1040
+
1041
+ Return value:
1042
+ Byte array indicating the store data if successful, null if failed.
1043
+
1044
+
1045
+ Source details:
1046
+ ```text
1047
+ Prototype
1048
+ byte[] sle4442_readMainMemory(int addr, int length)
1049
+ Description
1050
+ Read the data stored in main memory for SLE4442.
1051
+ Parameters
1052
+ Input
1053
+ addr - The starting address of operation data, the range of the parameters of the SLE4442 card is 0 to 255.
1054
+  length- To read the data length, the range of the parameters of the SLE4442 card is 1 to 256. ByteAddr and Length cannot be greater than the actual capacity of the card, otherwise the
1055
+ reader will refuse to execute the command and returns an error.
1056
+ Output
1057
+ None
1058
+ Return
1059
+ Byte array indicating the store data if successful, null if failed.
1060
+ Remark
1061
+ ```
1062
+
1063
+ ## sle4442_writeMainMemory
1064
+
1065
+ Write data to the main storage area SLE4442.
1066
+
1067
+ ```java
1068
+ int sle4442_writeMainMemory(int addr, byte[] data, int dataLen)
1069
+ ```
1070
+
1071
+ - **类路径:** `andoird.device.IccManager`
1072
+ - **源文档章节:** 16.19
1073
+
1074
+ - Source section: `16.19`
1075
+
1076
+ - Package/class path: `andoird.device.IccManager`
1077
+
1078
+
1079
+
1080
+ Purpose:
1081
+ Write data to the main storage area SLE4442.
1082
+
1083
+
1084
+ Signature/prototype:
1085
+ ```java
1086
+ int sle4442_writeMainMemory(int addr, byte[] data, int dataLen)
1087
+ ```
1088
+
1089
+
1090
+ Parameters:
1091
+ Input
1092
+ addr - The starting address of operation data, the range of the parameters of the SLE4442 card is 0 to 255.
1093
+
1094
+ data - The data to be written.
1095
+
1096
+ dataLen - Length of data.
1097
+ Output
1098
+ None
1099
+
1100
+
1101
+ Return value:
1102
+ 0-success, others-failed.
1103
+
1104
+
1105
+ Source details:
1106
+ ```text
1107
+ Prototype
1108
+ int sle4442_writeMainMemory(int addr, byte[] data, int dataLen)
1109
+ Description
1110
+ Write data to the main storage area SLE4442.
1111
+ Parameters
1112
+ Input
1113
+ addr - The starting address of operation data, the range of the parameters of the SLE4442 card is 0 to 255.
1114
+
1115
+ data - The data to be written.
1116
+
1117
+ dataLen - Length of data.
1118
+ Output
1119
+ None
1120
+ Return
1121
+ 0-success, others-failed.
1122
+ Remark
1123
+ ```
1124
+
1125
+ ## sle4442_readProtectionMemory
1126
+
1127
+ Read SLE4442 card protection bit storage data (4 BYTE).
1128
+
1129
+ ```java
1130
+ public byte[] sle4442_readProtectionMemory(int address, int len)
1131
+ ```
1132
+
1133
+ - **类路径:** `andoird.device.IccManager`
1134
+ - **源文档章节:** 16.20
1135
+
1136
+ - Source section: `16.20`
1137
+
1138
+ - Package/class path: `andoird.device.IccManager`
1139
+
1140
+
1141
+
1142
+ Purpose:
1143
+ Read SLE4442 card protection bit storage data (4 BYTE).
1144
+
1145
+
1146
+ Signature/prototype:
1147
+ ```java
1148
+ public byte[] sle4442_readProtectionMemory(int address, int len)
1149
+ ```
1150
+
1151
+
1152
+ Parameters:
1153
+ Input
1154
+ address - The parameter range is 0x00 to 0xff.
1155
+
1156
+ Len - Length to read, 4 Bytes: bit31 - read out 32Bytes; bit0 - read out 1Byte; bit* - etc.
1157
+ Output
1158
+ None
1159
+
1160
+
1161
+ Return value:
1162
+ Byte array indicating protected storage data if successful, null if failed.
1163
+
1164
+
1165
+ Usage notes:
1166
+ 4 bytes of data read is to save the SLE4442 bits data in storage area. Byte sequence bit: low in front, high in the post. Such as: read data: 30 FF 1F F8 from the first byte of 30H can be analyzed as follows: the binary 30H corresponding to the lower four bits: 00110000 to 0 represent the four byte SLE4442 of the card (answer to reset) cannot be changed.
1167
+
1168
+
1169
+ Source details:
1170
+ ```text
1171
+ Prototype
1172
+ public byte[] sle4442_readProtectionMemory(int address, int len)
1173
+ Description
1174
+ Read SLE4442 card protection bit storage data (4 BYTE).
1175
+ Parameters
1176
+ Input
1177
+ address - The parameter range is 0x00 to 0xff.
1178
+
1179
+ Len - Length to read, 4 Bytes: bit31 - read out 32Bytes; bit0 - read out 1Byte; bit* - etc.
1180
+ Output
1181
+ None
1182
+ Return
1183
+ Byte array indicating protected storage data if successful, null if failed.
1184
+ Remark
1185
+ 4 bytes of data read is to save the SLE4442 bits data in storage area. Byte sequence bit: low in front, high in the post. Such as: read data: 30 FF 1F F8 from the first byte of 30H can be analyzed as follows: the binary 30H corresponding to the lower four bits: 00110000 to 0 represent the four byte SLE4442 of the card (answer to reset) cannot be changed.
1186
+ ```
1187
+
1188
+ ## sle4442_writeProtectionMemory
1189
+
1190
+ The write protection bit storage area.
1191
+
1192
+ ```java
1193
+ public int sle4442_writeProtectionMemory(int addr, byte[] data, int dataLen)
1194
+ ```
1195
+
1196
+ - **类路径:** `andoird.device.IccManager`
1197
+ - **源文档章节:** 16.21
1198
+
1199
+ - Source section: `16.21`
1200
+
1201
+ - Package/class path: `andoird.device.IccManager`
1202
+
1203
+
1204
+
1205
+ Purpose:
1206
+ The write protection bit storage area.
1207
+
1208
+
1209
+ Signature/prototype:
1210
+ ```java
1211
+ public int sle4442_writeProtectionMemory(int addr, byte[] data, int dataLen)
1212
+ ```
1213
+
1214
+
1215
+ Parameters:
1216
+ Input
1217
+ addr - The starting address of operation data, the range of the parameters of the SLE4442 card is 0 to 31.
1218
+
1219
+ data - Write protect bit data.
1220
+
1221
+ dataLen - Length of data.
1222
+ Output
1223
+ None
1224
+
1225
+
1226
+ Return value:
1227
+ 0-success, others-failed.
1228
+
1229
+
1230
+ Usage notes:
1231
+ Write protection on the 4442 card data (disposable, write protection is not able to restore). Behind the 32BYTE data only for SLE4442 write protect (corresponding to protect a storage area of 32 BIT). This function can be one of a plurality of consecutive bytes protection (up to 32 bytes). According to the write protection properties of SLE4442 card, a byte write protection must provide the bytes of data and sends the write protection command, at the same time, consistent data provides the data and the actual store only when the specified storage area is write protected.
1232
+
1233
+
1234
+ Source details:
1235
+ ```text
1236
+ Prototype
1237
+ public int sle4442_writeProtectionMemory(int addr, byte[] data, int dataLen)
1238
+ Description
1239
+ The write protection bit storage area.
1240
+ Parameters
1241
+ Input
1242
+ addr - The starting address of operation data, the range of the parameters of the SLE4442 card is 0 to 31.
1243
+
1244
+ data - Write protect bit data.
1245
+
1246
+ dataLen - Length of data.
1247
+ Output
1248
+ None
1249
+ Return
1250
+ 0-success, others-failed.
1251
+ Remark
1252
+ Write protection on the 4442 card data (disposable, write protection is not able to restore). Behind the 32BYTE data only for SLE4442 write protect (corresponding to protect a storage area of 32 BIT). This function can be one of a plurality of consecutive bytes protection (up to 32 bytes). According to the write protection properties of SLE4442 card, a byte write protection must provide the bytes of data and sends the write protection command, at the same time, consistent data provides the data and the actual store only when the specified storage area is write protected.
1253
+ ```
1254
+
1255
+ ## sle4442_verifyPassword
1256
+
1257
+ Comparison SLE4442 cards, each card compared to the card password.
1258
+
1259
+ ```java
1260
+ public int sle4442_verifyPassword(byte[] passwd)
1261
+ ```
1262
+
1263
+ - **类路径:** `andoird.device.IccManager`
1264
+ - **源文档章节:** 16.22
1265
+
1266
+ - Source section: `16.22`
1267
+
1268
+ - Package/class path: `andoird.device.IccManager`
1269
+
1270
+
1271
+
1272
+ Purpose:
1273
+ Comparison SLE4442 cards, each card compared to the card password.
1274
+
1275
+
1276
+ Signature/prototype:
1277
+ ```java
1278
+ public int sle4442_verifyPassword(byte[] passwd)
1279
+ ```
1280
+
1281
+
1282
+ Parameters:
1283
+ Input
1284
+ passwd - The data buffer pointer password, password here to store data migration and card in the password.
1285
+ Output
1286
+ None
1287
+
1288
+
1289
+ Return value:
1290
+ 0-success, others-failed.
1291
+
1292
+
1293
+ Usage notes:
1294
+ If all the card data become to read-only, you will not be able to do any write operation. Secure storage area (except the error counter outside) will not be able to read and write.
1295
+
1296
+
1297
+ Source details:
1298
+ ```text
1299
+ Prototype
1300
+ public int sle4442_verifyPassword(byte[] passwd)
1301
+ Description
1302
+ Comparison SLE4442 cards, each card compared to the card password.
1303
+ Parameters
1304
+ Input
1305
+ passwd - The data buffer pointer password, password here to store data migration and card in the password.
1306
+ Output
1307
+ None
1308
+ Return
1309
+ 0-success, others-failed.
1310
+ Remark
1311
+ If all the card data become to read-only, you will not be able to do any write operation. Secure storage area (except the error counter outside) will not be able to read and write.
1312
+ ```
1313
+
1314
+ ## sle4442_changePassword
1315
+
1316
+ Change password.
1317
+
1318
+ ```java
1319
+ public int sle4442_changePassword(byte[] passwd)
1320
+ ```
1321
+
1322
+ - **类路径:** `andoird.device.IccManager`
1323
+ - **源文档章节:** 16.23
1324
+
1325
+ - Source section: `16.23`
1326
+
1327
+ - Package/class path: `andoird.device.IccManager`
1328
+
1329
+
1330
+
1331
+ Purpose:
1332
+ Change password.
1333
+
1334
+
1335
+ Signature/prototype:
1336
+ ```java
1337
+ public int sle4442_changePassword(byte[] passwd)
1338
+ ```
1339
+
1340
+
1341
+ Parameters:
1342
+ Input
1343
+ passwd - The data buffer point to the new password.
1344
+ Output
1345
+ None
1346
+
1347
+
1348
+ Return value:
1349
+ 0-success, others-failed.
1350
+
1351
+
1352
+ Source details:
1353
+ ```text
1354
+ Prototype
1355
+ public int sle4442_changePassword(byte[] passwd)
1356
+ Description
1357
+ Change password.
1358
+ Parameters
1359
+ Input
1360
+ passwd - The data buffer point to the new password.
1361
+ Output
1362
+ None
1363
+ Return
1364
+ 0-success, others-failed.
1365
+ Remark
1366
+ ```
1367
+
1368
+ ## sle4442_readErrorCounter
1369
+
1370
+ Read error code value.
1371
+
1372
+ ```java
1373
+ public int sle4442_readErrorCounter(byte[] errorCount)
1374
+ ```
1375
+
1376
+ - **类路径:** `andoird.device.IccManager`
1377
+ - **源文档章节:** 16.24
1378
+
1379
+ - Source section: `16.24`
1380
+
1381
+ - Package/class path: `andoird.device.IccManager`
1382
+
1383
+
1384
+
1385
+ Purpose:
1386
+ Read error code value.
1387
+
1388
+
1389
+ Signature/prototype:
1390
+ ```java
1391
+ public int sle4442_readErrorCounter(byte[] errorCount)
1392
+ ```
1393
+
1394
+
1395
+ Parameters:
1396
+ Input
1397
+ errorCount - The data buffer point to error count, 1Byte.
1398
+ Output
1399
+ None
1400
+
1401
+
1402
+ Return value:
1403
+ 0-success, others-failed.
1404
+
1405
+
1406
+ Usage notes:
1407
+ APPENDIX A
1408
+ Custom pinpad UI
1409
+ The parameters are mainly passed down through the json file, the application parses the json file into a string, and passes it to the pinpad through the bundle
1410
+ strJson = getJson("json.json", mContext);
1411
+ paramVar.putString("strJson", strJson);
1412
+ paramVar.putString("bodyBitmap", bodyBitmap);// body_imageview
1413
+ paramVar.putString("keyBitmap", keyBitmap); // key_imageview
1414
+ paramVar.putString("viewBitmap", viewBitmap); // imageView
1415
+ paramVar.putString("backsapceBitmap", backspaceBitmap); // body_imageview
1416
+
1417
+ Json description:
1418
+ {
1419
+ "body_area": {-―――――――――――――――――――――whole screen
1420
+ "left": 0,―――――――――――――――――――――――-X-axis coordinate
1421
+ "top": 0, ―――――――――――――――――――――――-Y-axis coordinate
1422
+ "height": 1280,―――――――――――――――――――――Height
1423
+ "width": 720,――――――――――――――――――――――Width
1424
+ "backgroundImage": "",-――――――――――――――――Image path
1425
+ "backgroundColor": "#ff1234"-――――――――――――background color
1426
+ },
1427
+ "body_imageview": {
1428
+ "left": 0,―――――――――――――――――――――――-X-axis coordinate
1429
+ "top": 0, ―――――――――――――――――――――――-Y-axis coordinate
1430
+ "height": 1280,―――――――――――――――――――――Height
1431
+ "width": 720,――――――――――――――――――――――Width
1432
+ "backgroundImage": "",-――――――――――――――――Image path
1433
+ "backgroundColor": "#ff1234"-――――――――――――background color
1434
+ },
1435
+ "backspace": {―――――――――――――――――――――――back button
1436
+ "left": 640,
1437
+ "top": 0,
1438
+ "height": 70,
1439
+ "width": 70,
1440
+ "backgroundImage": "",
1441
+ "backgroundColor": "#ff1234"
1442
+ },
1443
+ "title": {
1444
+ "left": 0,
1445
+ "top": 0,
1446
+ "height": 70,
1447
+ "width": 720,
1448
+ "backgroundImage": "",
1449
+ "backgroundColor": "#ff1234",
1450
+ "text": "Security Keyboard",―――――――――――――displayed text
1451
+ "fontSize": 18,―――――――――――――――――――――font size
1452
+ "color": "#ff1234",―――――――――――――――――――font color
1453
+ "display": "",―――――――――――――――――――――whether to display
1454
+ "borderStyle": "solid",―――――――――――――whether to show border
1455
+ "borderWidth": 0,―――――――――――――――――――――border width
1456
+ "borderRadius": 0,―――――――――――――――――――――border radius
1457
+ "borderColor": ""―――――――――――――――――――――border color
1458
+ },
1459
+ "head": {
1460
+ "left": 0,
1461
+ "top": 70,
1462
+ "height": 70,
1463
+ "width": 480,
1464
+ "backgroundImage": "",
1465
+ "backgroundColor": "#ff1234",
1466
+ "text": "Head",
1467
+ "fontSize": 28,
1468
+ "color": "#ff1234",
1469
+ "display": "none",
1470
+ "borderStyle": "solid",
1471
+ "borderWidth": 0,
1472
+ "borderRadius": 0,
1473
+ "borderColor": ""
1474
+ },
1475
+ "money": {
1476
+ "left": 0,
1477
+ "top": 90,
1478
+ "height": 70,
1479
+ "width": 720,
1480
+ "backgroundImage": "",
1481
+ "backgroundColor": "#ff1234",
1482
+ "text": "222000",
1483
+ "fontSize": 28,
1484
+ "color": "#ff1234",
1485
+ "display": "",
1486
+ "borderStyle": "solid",
1487
+ "borderWidth": 0,
1488
+ "borderRadius": 0,
1489
+ "borderColor": ""
1490
+ },
1491
+ "info": {
1492
+ "left": 0,
1493
+ "top": 180,
1494
+ "height": 60,
1495
+ "width": 720,
1496
+ "backgroundImage": "",
1497
+ "backgroundColor": "#ff1234",
1498
+ "text": "info",
1499
+ "fontSize": 28,
1500
+ "color": "#ff1234",
1501
+ "display": "",
1502
+ "borderStyle": "solid",
1503
+ "borderWidth": 0,
1504
+ "borderRadius": 0,
1505
+ "borderColor": ""
1506
+ },
1507
+ "imageview": {
1508
+ "left": 0,
1509
+ "top": 180,
1510
+ "height": 200,
1511
+ "width": 720,
1512
+ "backgroundImage": "imageview",
1513
+ "backgroundColor": "#ff1234",
1514
+ "display": "",
1515
+ "borderStyle": "top",
1516
+ "borderWidth": 0,
1517
+ "borderRadius": 0,
1518
+ "borderColor": ""
1519
+ },
1520
+ "echo": {
1521
+ "left": 50,
1522
+ "top": 260,
1523
+ "height": 80,
1524
+ "width": 620,
1525
+ "backgroundImage": "",
1526
+ "backgroundColor": "#ff1234",
1527
+ "display": "",
1528
+ "borderStyle": "none",
1529
+ "borderWidth": 0,
1530
+ "borderRadius": 0,
1531
+ "borderColor": ""
1532
+ },
1533
+ "view": {
1534
+ "left": 50,
1535
+ "top": 340,
1536
+ "height": 60,
1537
+ "width": 620,
1538
+ "backgroundImage": "",
1539
+ "backgroundColor": "#ff1234",
1540
+ "display": "",
1541
+ "borderStyle": "top",
1542
+ "borderWidth": 0,
1543
+ "borderRadius": 0,
1544
+ "borderColor": ""
1545
+ },
1546
+ "key_area": {―――――――――――the key area
1547
+ "left": 0,
1548
+ "top": 640,
1549
+ "height": 640,
1550
+ "width": 720,
1551
+ "backgroundImage": "",
1552
+ "backgroundColor": "#ff1234"
1553
+ },
1554
+ "key_imageview": {
1555
+ "left": 0,―――――――――――――――――――――――-X-axis coordinate
1556
+ "top": 0, ―――――――――――――――――――――――-Y-axis coordinate
1557
+ "height": 1280,―――――――――――――――――――――Height
1558
+ "width": 720,――――――――――――――――――――――Width
1559
+ "backgroundImage": "",-――――――――――――――――Image path
1560
+ "backgroundColor": "#ff1234"-――――――――――――background color
1561
+ },
1562
+ "key_1": {
1563
+ "left": 10,
1564
+ "top": 0,
1565
+ "height": 110,
1566
+ "width": 220,
1567
+ "backgroundImage": "",
1568
+ "backgroundColor": "#ff1234",
1569
+ "text": "1",
1570
+ "fontSize": 30,
1571
+ "color": "#ff1234",
1572
+ "display": "",
1573
+ "borderStyle": "solid",
1574
+ "borderWidth": 0,
1575
+ "borderRadius": 7,
1576
+ "borderColor": ""
1577
+ },
1578
+ "key_2": {
1579
+ "left": 240,
1580
+ "top": 0,
1581
+ "height": 110,
1582
+ "width": 220,
1583
+ "backgroundImage": "",
1584
+ "backgroundColor": "#ff1234",
1585
+ "text": "2",
1586
+ "fontSize": 30,
1587
+ "color": "#ff1234",
1588
+ "display": "",
1589
+ "borderStyle": "solid",
1590
+ "borderWidth": 0,
1591
+ "borderRadius": 7,
1592
+ "borderColor": ""
1593
+ },
1594
+ "key_3": {
1595
+ "left": 480,
1596
+ "top": 0,
1597
+ "height": 110,
1598
+ "width": 220,
1599
+ "backgroundImage": "",
1600
+ "backgroundColor": "#ff1234",
1601
+ "text": "3",
1602
+ "fontSize": 30,
1603
+ "color": "#ff1234",
1604
+ "display": "",
1605
+ "borderStyle": "solid",
1606
+ "borderWidth": 0,
1607
+ "borderRadius": 7,
1608
+ "borderColor": ""
1609
+ },
1610
+ "key_4": {
1611
+ "left": 10,
1612
+ "top": 120,
1613
+ "height": 110,
1614
+ "width": 220,
1615
+ "backgroundImage": "",
1616
+ "backgroundColor": "#ff1234",
1617
+ "text": "4",
1618
+ "fontSize": 30,
1619
+ "color": "#ff1234",
1620
+ "display": "",
1621
+ "borderStyle": "solid",
1622
+ "borderWidth": 0,
1623
+ "borderRadius": 7,
1624
+ "borderColor": ""
1625
+ },
1626
+ "key_5": {
1627
+ "left": 240,
1628
+ "top": 120,
1629
+ "height": 110,
1630
+ "width": 220,
1631
+ "backgroundImage": "",
1632
+ "backgroundColor": "#ff1234",
1633
+ "text": "5",
1634
+ "fontSize": 30,
1635
+ "color": "#ff1234",
1636
+ "display": "",
1637
+ "borderStyle": "solid",
1638
+ "borderWidth": 0,
1639
+ "borderRadius": 7,
1640
+ "borderColor": ""
1641
+ },
1642
+ "key_6": {
1643
+ "left": 480,
1644
+ "top": 120,
1645
+ "height": 110,
1646
+ "width": 220,
1647
+ "backgroundImage": "",
1648
+ "backgroundColor": "#ff1234",
1649
+ "text": "6",
1650
+ "fontSize": 30,
1651
+ "color": "#ff1234",
1652
+ "display": "",
1653
+ "borderStyle": "solid",
1654
+ "borderWidth": 0,
1655
+ "borderRadius": 7,
1656
+ "borderColor": ""
1657
+ },
1658
+ "key_7": {
1659
+ "left": 10,
1660
+ "top": 240,
1661
+ "height": 110,
1662
+ "width": 220,
1663
+ "backgroundImage": "",
1664
+ "backgroundColor": "#ff1234",
1665
+ "text": "7",
1666
+ "fontSize": 30,
1667
+ "color": "#ff1234",
1668
+ "display": "",
1669
+ "borderStyle": "solid",
1670
+ "borderWidth": 0,
1671
+ "borderRadius": 7,
1672
+ "borderColor": ""
1673
+ },
1674
+ "key_8": {
1675
+ "left": 240,
1676
+ "top": 240,
1677
+ "height": 110,
1678
+ "width": 220,
1679
+ "backgroundImage": "",
1680
+ "backgroundColor": "#ff1234",
1681
+ "text": "8",
1682
+ "fontSize": 30,
1683
+ "color": "#ff1234",
1684
+ "display": "",
1685
+ "borderStyle": "solid",
1686
+ "borderWidth": 0,
1687
+ "borderRadius": 7,
1688
+ "borderColor": ""
1689
+ },
1690
+ "key_9": {
1691
+ "left": 480,
1692
+ "top": 240,
1693
+ "height": 110,
1694
+ "width": 220,
1695
+ "backgroundImage": "",
1696
+ "backgroundColor": "#ff1234",
1697
+ "text": "9",
1698
+ "fontSize": 30,
1699
+ "color": "#ff1234",
1700
+ "display": "",
1701
+ "borderStyle": "solid",
1702
+ "borderWidth": 0,
1703
+ "borderRadius": 7,
1704
+ "borderColor": ""
1705
+ },
1706
+ "key_0": {
1707
+ "left": 240,
1708
+ "top": 360,
1709
+ "height": 110,
1710
+ "width": 220,
1711
+ "backgroundImage": "",
1712
+ "backgroundColor": "#ff1234",
1713
+ "text": "0",
1714
+ "fontSize": 30,
1715
+ "color": "#ff1234",
1716
+ "display": "",
1717
+ "borderStyle": "solid",
1718
+ "borderWidth": 0,
1719
+ "borderRadius": 7,
1720
+ "borderColor": ""
1721
+ },
1722
+
1723
+ For the Cance&del&ok buttons, if backgroundImage is not empty,backgroundImage is imageButton.
1724
+ "key_cancel": {
1725
+ "left": 10,
1726
+ "top": 360,
1727
+ "height": 220,
1728
+ "width": 220,
1729
+ "backgroundImage": "cancelBitmap",
1730
+ "backgroundColor": "#ff1234",
1731
+ "text": "cancel",
1732
+ "fontSize": 20,
1733
+ "color": "#ff1234",
1734
+ "display": "",
1735
+ "borderStyle": "solid",
1736
+ "borderWidth": 0,
1737
+ "borderRadius": 7,
1738
+ "borderColor": ""
1739
+ },
1740
+ "key_del": {
1741
+ "left": 240,
1742
+ "top": 480,
1743
+ "height": 110,
1744
+ "width": 220,
1745
+ "backgroundImage": "delBitmap",
1746
+ "backgroundColor": "#ff1234",
1747
+ "text": "del",
1748
+ "fontSize": 20,
1749
+ "color": "#ff1234",
1750
+ "display": "",
1751
+ "borderStyle": "solid",
1752
+ "borderWidth": 0,
1753
+ "borderRadius": 7,
1754
+ "borderColor": ""
1755
+ },
1756
+ "key_ok": {
1757
+ "left": 480,
1758
+ "top": 360,
1759
+ "height": 220,
1760
+ "width": 220,
1761
+ "backgroundImage": "okBitmap",
1762
+ "backgroundColor": "#ff1234",
1763
+ "text": "ok",
1764
+ "fontSize": 20,
1765
+ "color": "#ff1234",
1766
+ "display": "",
1767
+ "borderStyle": "",
1768
+ "borderWidth": 0,
1769
+ "borderRadius": 7,
1770
+ "borderColor": ""
1771
+ },
1772
+ "key_blank1": {
1773
+ "left": 3,
1774
+ "top": 700,
1775
+ "height": 97,
1776
+ "width": 116,
1777
+ "backgroundImage": "",
1778
+ "backgroundColor": "#ff1234",
1779
+ "text": "",
1780
+ "fontSize": 20,
1781
+ "color": "#ff1234",
1782
+ "display": "none",
1783
+ "borderStyle": "solid",
1784
+ "borderWidth": 0,
1785
+ "borderRadius": 0,
1786
+ "borderColor": ""
1787
+ },
1788
+ "key_blank2": {
1789
+ "left": 242,
1790
+ "top": 700,
1791
+ "height": 97,
1792
+ "width": 116,
1793
+ "backgroundImage": "",
1794
+ "backgroundColor": "#ff1234",
1795
+ "text": "",
1796
+ "fontSize": 20,
1797
+ "color": "#ff1234",
1798
+ "display": "",
1799
+ "borderStyle": "solid",
1800
+ "borderWidth": 0,
1801
+ "borderRadius": 0,
1802
+ "borderColor": ""
1803
+ }
1804
+ }
1805
+
1806
+
1807
+ Source details:
1808
+ ```text
1809
+ Prototype
1810
+ public int sle4442_readErrorCounter(byte[] errorCount)
1811
+ Description
1812
+ Read error code value.
1813
+ Parameters
1814
+ Input
1815
+ errorCount - The data buffer point to error count, 1Byte.
1816
+ Output
1817
+ None
1818
+ Return
1819
+ 0-success, others-failed.
1820
+ Remark
1821
+
1822
+ APPENDIX A
1823
+ Custom pinpad UI
1824
+ The parameters are mainly passed down through the json file, the application parses the json file into a string, and passes it to the pinpad through the bundle
1825
+ strJson = getJson("json.json", mContext);
1826
+ paramVar.putString("strJson", strJson);
1827
+ paramVar.putString("bodyBitmap", bodyBitmap);// body_imageview
1828
+ paramVar.putString("keyBitmap", keyBitmap); // key_imageview
1829
+ paramVar.putString("viewBitmap", viewBitmap); // imageView
1830
+ paramVar.putString("backsapceBitmap", backspaceBitmap); // body_imageview
1831
+
1832
+ Json description:
1833
+ {
1834
+ "body_area": {-―――――――――――――――――――――whole screen
1835
+ "left": 0, - -X-axis coordinate
1836
+ "top": 0, - -Y-axis coordinate
1837
+ "height": 1280,―――――――――――――――――――――Height
1838
+ "width": 720,――――――――――――――――――――――Width
1839
+ "backgroundImage": "",-――――――――――――――――Image path
1840
+ "backgroundColor": "#ff1234"-――――――――――――background color
1841
+ },
1842
+ "body_imageview": {
1843
+ "left": 0, - -X-axis coordinate
1844
+ "top": 0, - -Y-axis coordinate
1845
+ "height": 1280,―――――――――――――――――――――Height
1846
+ "width": 720,――――――――――――――――――――――Width
1847
+ "backgroundImage": "",-――――――――――――――――Image path
1848
+ "backgroundColor": "#ff1234"-――――――――――――background color
1849
+ },
1850
+ "backspace": { - back button
1851
+ "left": 640,
1852
+ "top": 0,
1853
+ "height": 70,
1854
+ "width": 70,
1855
+ "backgroundImage": "",
1856
+ "backgroundColor": "#ff1234"
1857
+ },
1858
+ "title": {
1859
+ "left": 0,
1860
+ "top": 0,
1861
+ "height": 70,
1862
+ "width": 720,
1863
+ "backgroundImage": "",
1864
+ "backgroundColor": "#ff1234",
1865
+ "text": "Security Keyboard",―――――――――――――displayed text
1866
+ "fontSize": 18,―――――――――――――――――――――font size
1867
+ "color": "#ff1234",―――――――――――――――――――font color
1868
+ "display": "",―――――――――――――――――――――whether to display
1869
+ "borderStyle": "solid",―――――――――――――whether to show border
1870
+ "borderWidth": 0,―――――――――――――――――――――border width
1871
+ "borderRadius": 0,―――――――――――――――――――――border radius
1872
+ "borderColor": ""―――――――――――――――――――――border color
1873
+ },
1874
+ "head": {
1875
+ "left": 0,
1876
+ "top": 70,
1877
+ "height": 70,
1878
+ "width": 480,
1879
+ "backgroundImage": "",
1880
+ "backgroundColor": "#ff1234",
1881
+ "text": "Head",
1882
+ "fontSize": 28,
1883
+ "color": "#ff1234",
1884
+ "display": "none",
1885
+ "borderStyle": "solid",
1886
+ "borderWidth": 0,
1887
+ "borderRadius": 0,
1888
+ "borderColor": ""
1889
+ Source note: section truncated for chunk size; consult the source document for remaining detailed tables (439 source lines total).
1890
+ ```