当前位置: 首页 > news >正文

房地产网站案例宝安公司网站建设

房地产网站案例,宝安公司网站建设,公司网站建设一年多少钱,顺德网站建设公司咨询前言 最近搞了个设备#xff0c;需求是读取m1卡#xff0c;厂家给了个安卓原生demo#xff0c;接入arr插件如下#xff0c;接入后发现还是少了一部分代码#xff0c;设备服务调起后触发刷卡无法发送到uniapp里。 中间是一些踩坑记录#xff0c;最后面是解决办法#xf…前言 最近搞了个设备需求是读取m1卡厂家给了个安卓原生demo接入arr插件如下接入后发现还是少了一部分代码设备服务调起后触发刷卡无法发送到uniapp里。 中间是一些踩坑记录最后面是解决办法赶时间直接拉到最后 安卓原生广播 demo中的NfcService其中有一个onDataReceived方法最终调用了LocalBroadcastManager 发送广播 protected void onDataReceived(final ComBean ComRecData) {Log.d(TAG, 发送消息);LocalBroadcastManager localBroadcastManager LocalBroadcastManager.getInstance(getApplicationContext());Intent intent new Intent(NfcAction.ACTION_NOTIFY_CARD_NUMBER);intent.putExtra(NfcAction.KEY_NOTIFY_DECIMAL_CARD_NUMBER, decimal);intent.putExtra(NfcAction.KEY_NOTIFY_DECIMAL_REVERSE_CARD_NUMBER, decimalReverse);intent.putExtra(NfcAction.KEY_NOTIFY_ORIGINAL_CARD_NUMBER, originHex);intent.putExtra(NfcAction.KEY_NOTIFY_EIGHT_HEX_CARD_NUMBER, eightHex);intent.putExtra(NfcAction.KEY_NOTIFY_EIGHT_HEX_REVERSE_CARD_NUMBER, eightHexReverse);intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);localBroadcastManager.sendBroadcast(intent);Log.d(TAG, 发送消息成功); }在MainActivity的onCreate里有接收广播 val nfcCardReceiver NfcCardReceiver() val intentFilter IntentFilter() intentFilter.addAction(NfcAction.ACTION_NOTIFY_CARD_NUMBER) LocalBroadcastManager.getInstance(this).registerReceiver(nfcCardReceiver, intentFilter)NfcCardReceiver类 package com.rt.nfclibdemoimport android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.util.Log import com.rt.lib_nfc.NfcAction import org.greenrobot.eventbus.EventBusclass NfcCardReceiver: BroadcastReceiver() {override fun onReceive(p0: Context?, p1: Intent?) {if (p1 ! null) {val card p1.getStringExtra(NfcAction.KEY_NOTIFY_ORIGINAL_CARD_NUMBER)val card2 p1.getStringExtra(NfcAction.KEY_NOTIFY_DECIMAL_CARD_NUMBER)val card3 p1.getStringExtra(NfcAction.KEY_NOTIFY_DECIMAL_REVERSE_CARD_NUMBER)val card4 p1.getStringExtra(NfcAction.KEY_NOTIFY_EIGHT_HEX_CARD_NUMBER)val card5 p1.getStringExtra(NfcAction.KEY_NOTIFY_EIGHT_HEX_REVERSE_CARD_NUMBER)//跟ui绑定的东西忽略掉EventBus.getDefault().post(CardBean(card!!, card2!!, card3!!, card4!!, card5!!))Log.e(TAG, onReceive: card --- card2 --- card3 --- card4 --- card5)}} }根据以往的经验写出如下代码结果是失败的 const mainActivity plus.android.runtimeMainActivity(); const NfcAction plus.android.importClass(com.rt.lib_nfc.NfcAction); var nfcCardReceiver plus.android.implements(io.dcloud.android.content.BroadcastReceiver, {onReceive: function(context, intent) { //实现onReceiver回调函数plus.android.importClass(intent);console.log(context, intent -, context, intent);console.log(intent.getAction() -, intent.getAction());} const IntentFilter plus.android.importClass(android.content.IntentFilter); const filter new IntentFilter(); filter.addAction(NfcAction.ACTION_NOTIFY_CARD_NUMBER); //监听 let LocalBroadcastManager plus.android.importClass(androidx.localbroadcastmanager.content.LocalBroadcastManager); let localBroadcastManager LocalBroadcastManager.getInstance(mainActivity); localBroadcastManager.registerReceiver(nfcCardReceiver, filter);最终结果是控制台无输出 adb shell catlog抓到的日志是个null 找了很久很久后找到了个栗子据说绑定不成功的原因是io.dcloud.android.content.BroadcastReceiver这个东西是抽象类无法实现只能用io.dcloud.feature.internal.reflect.BroadcastReceiver然而替换后还是不行就是无法监听LocalBroadcastManager又找了很久资料找了无数篇垃圾文章后找了原生安卓的很多文章后终于找到了个办法不用LocalBroadcastManager使用另一种方法发送接收广播 最终方案 不使用LocalBroadcastManager发生监听广播 使用getApplicationContext().sendBroadcast(intent);发送广播 使用mainActivity.registerReceiver(nfcCardReceiver, filter);监听广播 首先将NfcService-onDataReceived改造在原有基础上增加更改后记得重新打成arr然后重打自定义基座才能生效 protected void onDataReceived(final ComBean ComRecData) {Log.d(TAG, 发送消息);LocalBroadcastManager localBroadcastManager LocalBroadcastManager.getInstance(getApplicationContext());Intent intent new Intent(NfcAction.ACTION_NOTIFY_CARD_NUMBER);intent.putExtra(NfcAction.KEY_NOTIFY_DECIMAL_CARD_NUMBER, decimal);intent.putExtra(NfcAction.KEY_NOTIFY_DECIMAL_REVERSE_CARD_NUMBER, decimalReverse);intent.putExtra(NfcAction.KEY_NOTIFY_ORIGINAL_CARD_NUMBER, originHex);intent.putExtra(NfcAction.KEY_NOTIFY_EIGHT_HEX_CARD_NUMBER, eightHex);intent.putExtra(NfcAction.KEY_NOTIFY_EIGHT_HEX_REVERSE_CARD_NUMBER, eightHexReverse);intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);Log.d(TAG, 发送localBroadcastManager消息);//原来的发送广播语句//localBroadcastManager.sendBroadcast(intent);Log.d(TAG, 发送getApplicationContext消息);//新增的关键语句getApplicationContext().sendBroadcast(intent);Log.d(TAG, 发送消息成功); }uniapp部分 registerReceiver(){const that this;const Log plus.android.importClass(android.util.Log);Log.d(NfcApp, 1);const mainActivity plus.android.runtimeMainActivity();const NfcAction plus.android.importClass(com.rt.lib_nfc.NfcAction);const nfcCardReceiverFunc { onReceive: function(context, intent) { //实现onReceiver回调函数 plus.android.importClass(intent);console.log(context, intent -, context, intent);console.log(intent.getAction() -, intent.getAction());console.log(回调成功);that.cardData {};let card1 intent.getStringExtra(NfcAction.KEY_NOTIFY_ORIGINAL_CARD_NUMBER);let card2 intent.getStringExtra(NfcAction.KEY_NOTIFY_DECIMAL_CARD_NUMBER);let card3 intent.getStringExtra(NfcAction.KEY_NOTIFY_DECIMAL_REVERSE_CARD_NUMBER);let card4 intent.getStringExtra(NfcAction.KEY_NOTIFY_EIGHT_HEX_CARD_NUMBER);let card5 intent.getStringExtra(NfcAction.KEY_NOTIFY_EIGHT_HEX_REVERSE_CARD_NUMBER);console.log(返回数据-,card1, card2, card3, card4, card5);if(card1 AABB0600000001060007){return;}//最终返回的数据that.cardData { card1, card2, card3, card4, card5 };}};const nfcCardReceiver plus.android.implements(io.dcloud.feature.internal.reflect.BroadcastReceiver, nfcCardReceiverFunc);const IntentFilter plus.android.importClass(android.content.IntentFilter);const filter new IntentFilter();Log.d(NfcApp, 2);filter.addAction(NfcAction.ACTION_NOTIFY_CARD_NUMBER); //监听Log.d(NfcApp, 3);let res mainActivity.registerReceiver(nfcCardReceiver, filter);Log.d(NfcApp, 4);Log.d(NfcApp, 绑定成功)//解除绑定暂未实现//unregisterReceiver },重新打包重新运行后即可接到this.cardData返回的值了
http://www.hkea.cn/news/14579172/

相关文章:

  • 网站建设毕业设计中期进度报告做三折页的网站
  • 网站设计模版免费下载网页设计的目的
  • 网站数据库是干什么的网站建设业务的途径的体会
  • 站内营销推广的案例品牌建设和品牌打造
  • 公司页面网站设计模板网站快照描述
  • 天河公司网站建设公司网站浮动窗口怎么做的
  • 佛山市和城乡建设局网站网站中的冒号
  • dj网站建设无锡万度网站建设
  • 网站开发技术方案doc常用网站网址
  • 成都网站制作软件辽宁省建设工程造价总站网站
  • 切实加强门户网站建设千库网ppt模板免费
  • 网站推广优化技巧山东能源集团 网站建设
  • 网站系统制作教程制作动漫的软件
  • 四川省城乡住房建设部网站最近实时热点事件
  • 深圳专业商城网站设计织梦技术个人网站模板
  • 做商城网站需要的功能四川建设网网网站维护电话
  • 中国林业工程建设网站海鲜网站模板
  • 成都学校网站建设报考大专网站肇庆
  • 论坛类型的网站怎么做wordpress文章微信分享代码
  • 建设网站如果赚钱lnmp架构部署wordpress
  • 上海网站外包建设建设网站的费用如何入账
  • 如何选择一个优质网站建设公司网络规划与设计思维导图
  • 民治营销型网站上虞中国建设银行官网站
  • 网站促销广告免费适合个人主页
  • seo门户网站优化app开发自学
  • 东莞网站优化软件苏州公司电话
  • 高端网站建设968垂直门户网站有哪些
  • 单位网站建设费算无形资产吗怎么做商务网站的架构
  • 站优云seo优化建企业网站用什么源码
  • 什么网站做ppt深圳网站页面设计公司