scanCode.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //初始化
  2. export function initScan (){
  3. let _this = this;
  4. let HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = null // 设备活动
  5. let POC_KEY_DOWN_OBJ = null
  6. let HTML5_PLUS_CONTENT_INTENTFILTER = "android.content.IntentFilter" // html5+ 暴露接口
  7. let SCANOBJ = {
  8. ACTION_SCAN_RESULT : "com.action.SCAN_RESULT",
  9. SCAN_SERVICE: "com.action.INIT_SCAN", // 扫描权限
  10. SCAN_RESULT: "com.action.SCAN_RESULT", // 扫描结果
  11. SCAN_BEGIN: "com.action.START_SCAN", // 开始扫描
  12. SCAN_END: "com.action.STOP_SCAN", // 关闭扫描
  13. }
  14. let HTML5_PLUS_KEY_DOWN = "com.aoro.poc.key.down" // 按钮被按下
  15. /* #ifdef APP-PLUS */
  16. HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = plus.android.runtimeMainActivity(); //获取activity
  17. /* var context = plus.android.importClass('android.content.Context'); */
  18. /* var Intent = plus.android.importClass('android.content.Intent'); */
  19. POC_KEY_DOWN_OBJ = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
  20. onReceive: function(context, intent) {
  21. plus.android.importClass(intent);
  22. /*不同的手机或pda,这个值就不一样,要具体去查硬件api*/
  23. let code = intent.getStringExtra("scannerdata");
  24. /* rmker.showTip('条码:'+code); */
  25. /*调用本页面某方法*/
  26. _this.queryCode(code);
  27. console.log(intent)
  28. }
  29. });
  30. let IntentFilter = plus.android.importClass(HTML5_PLUS_CONTENT_INTENTFILTER); // 暴露接口对象
  31. let filter = new IntentFilter();
  32. filter.addAction(SCANOBJ.ACTION_SCAN_RESULT); // 红外 扫描结果,广播
  33. filter.addAction(HTML5_PLUS_KEY_DOWN); // 按钮对按钮,广播
  34. filter.addAction(SCANOBJ.SCAN_RESULT); // 红外 扫描结果,广播
  35. HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.registerReceiver(POC_KEY_DOWN_OBJ, filter); // 注册功能
  36. /* #endif */
  37. }
  38. //PDA扫描开始
  39. export function startScan() {
  40. let HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = null // 设备活动
  41. HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = plus.android.runtimeMainActivity(); //获取activity
  42. /* #ifdef APP-PLUS */
  43. let intents = new HTML5_PLUS_CONTENT_INTENT_CLASS(SCANOBJ
  44. .SCAN_BEGIN); // 红外扫描开启
  45. HTML5_PLUS_RUNTIME_MAIN_ACTIVITY.sendBroadcast(intents);
  46. /* #endif */
  47. }
  48. //PDA扫描调用结束
  49. export function stopScan() {
  50. let HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = null // 设备活动
  51. HTML5_PLUS_RUNTIME_MAIN_ACTIVITY = plus.android.runtimeMainActivity(); //获取activity
  52. /* #ifdef APP-PLUS */
  53. main.unregisterReceiver(receiver);
  54. /* #endif */
  55. }