在根目录的static中新建nfc.js文件
nfc.js

var NfcAdapter;
export default {// 初始化NFCNFCInit() {try {let main2 = plus.android.runtimeMainActivity();let Intent = plus.android.importClass('android.content.Intent');let Activity = plus.android.importClass('android.app.Activity');let PendingIntent = plus.android.importClass('android.app.PendingIntent');let IntentFilter2 = plus.android.importClass('android.content.IntentFilter');NfcAdapter = plus.android.importClass('android.nfc.NfcAdapter');let _nfcAdapter = NfcAdapter.getDefaultAdapter(main2);let ndef = new IntentFilter2('android.nfc.action.NDEF_DISCOVERED');let tag = new IntentFilter2('android.nfc.action.TAG_DISCOVERED');let tech = new IntentFilter2('android.nfc.action.TECH_DISCOVERED');let intentFiltersArray = [ndef, tag, tech];let techListsArray = [['android.nfc.tech.Ndef'],['android.nfc.tech.IsoDep'],['android.nfc.tech.NfcA'],['android.nfc.tech.NfcB'],['android.nfc.tech.NfcF'],['android.nfc.tech.Nfcf'],['android.nfc.tech.NfcV'],['android.nfc.tech.NdefFormatable'],['android.nfc.tech.MifareClassi'],['android.nfc.tech.MifareUltralight']];let _intent = new Intent(main2, main2.getClass());_intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);let pendingIntent = PendingIntent.getActivity(main2, 0, _intent, 0);if (_nfcAdapter == null) {} else if (_nfcAdapter.isEnabled() == false) {} else {_nfcAdapter.enableForegroundDispatch(main2, pendingIntent, IntentFilter2, techListsArray);}} catch (e) {}},// 读取NFC上的数据NFCReadUID() {let main3 = plus.android.runtimeMainActivity();let _intent = main3.getIntent();let _action = _intent.getAction();if (NfcAdapter.ACTION_NDEF_DISCOVERED == _action || NfcAdapter.ACTION_TAG_DISCOVERED == _action ||NfcAdapter.ACTION_TECH_DISCOVERED == _action) {let Tag = plus.android.importClass('android.nfc.Tag');let tagFromIntent = _intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);let bind_code = _intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);bind_code = this.byteArrayToHexString(bind_code);uni.$emit('nfcCode', {code: bind_code})}},// 将转大写格式byteArrayToHexString(inarray) {let i, j, inn;let hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];let out = "";for (j = 0; j < inarray.length; ++j) {inn = inarray[j] & 0xff;i = (inn >>> 4) & 0x0f;out += hex[i];i = inn & 0x0f;out += hex[i];}return out;},}

在需要的页面里面引入这个js

<script>import nfcFun from "../../static/js/nfc.js";var NfcAdapter;export default {created(option) {nfcFun.NFCInit();},onHide() {nfcFun.NFCReadUID();},onLoad() {// 接收nfc的值uni.$on('nfcCode',(data)=>{console.log(data);})},onUnload() {uni.$off('nfcCode')//移除监听nfc}}
</script>

没了,结束了,是不是很简单呐,如有问题,欢迎留言。
最后:如果此篇博文对您有帮助,还请动动小手点点关注点点赞呐~,谢谢 ~ ~

1,uniapp功能之—NFC相关推荐

  1. 2,uniapp功能之—扫码(条形码,二维码)点击扫码或者pda侧边按钮扫码

    最近在搞uniapp的项目,所以最近的文章基本上是关于uniapp的. 分享一个自动生成二维码的网址,点击前往 注意 如果扫码和上一个nfc功能在同一个页面里面,会发生冲突,只有一个有用,一个没有用, ...

  2. pn532检测不到nfc设备_华为、小米又增回NFC功能,苹果却一直无NFC功能,NFC能否成为关键?...

    曾几何时,被众人唱衰的NFC功能又被悄悄的加入到各大手机厂商发布的几款新机中.当初NFC模块刚加入到手机的时候能成为一大卖点之一,然而因外部技术的迭代更新速度不够快,手机NFC功能变得鸡肋了起来,如今 ...

  3. android有nfc功能吗,nfc功能是什么_哪些手机有nfc功能 - 全文

    标签:手机(1377) 什么是NFC功能 nfc即近距离无线通讯技术,NFC近场通信技术是由非接触式射频识别(RFID)及互联互通技术整合演变而来,在单一芯片上结合感应式读卡器.感应式卡片和点对点的功 ...

  4. android beam功能,让NFC更实用 Android Beam评测

    NFC和Android Beam NFC近场通信功能在这几年来也成了各大手机厂商拿出来炫耀的资本,笔者在使用了多年公交卡后,也对这个神奇的功能非常向往,不过很多事总是事与愿违,虽然现在有不少手机有了N ...

  5. 支持HCE功能的NFC手机(Android)、 支持NFC功能的手机大全(安卓、微软、塞班、苹果)

    支持HCE功能的Android手机需要满足如下条件: 1.支持NFC功能 2.操作系统是Android 3.Android版本4.4 如果满足条件1.2,但是通过刷机满足条件3也成立. 说明:对于NF ...

  6. android钱包nfc功能,Android NFC(二)M1卡电子钱包功能

    M1任意可写块都可实现电子钱包的功能.本质其实就是按照一定的数据格式来对块值进行初始化.加值.减值.电子钱包的数据结构下图示例: 钱包结构.png 比如要将第5扇区的第0块作为电子钱包的存储位置,就要 ...

  7. uniapp功能篇-1.二次封装luch-request(类似于axios)

    每个项目的需求各有偏差,务必根据自己的项目调整相关配置 npm i luch-request -S Uniapp二次封装luch-request请求库 1.创建url.js 文件 2.创建 httpl ...

  8. 5,uniapp功能之—打印机,打印文本和二维码等,(佳博的打印机)

    效果图: 思路:1,一个打印按钮,2点击按钮弹窗一个蓝牙模块,选择蓝牙进行连接,连接成功就直接进行打印了,3,打印的内容自己设置 项目结构: 上代码,打印机参数的js文件私信我发给你,(太多了) 1, ...

  9. 3,uniapp功能之—蓝牙秤,连接蓝牙秤获取重量实时显示在页面上(坤宏的蓝牙秤)

    1,在component里面新建一个blueTooth.vue组件 <template><view><view v-for="(item,index) in d ...

最新文章

  1. APP的UI测试要点
  2. 【分布式计算】分布式日志导入工具-Flume
  3. 科学计算机乱码,软件界面乱码可以这么“破”
  4. mysql索引技术_MySQL索引类型
  5. 【MySQL】MySQL show index 索引信息
  6. Ros学习——launch文件解析
  7. 机器学习基础(五十五)—— 核(Kernel Trick)
  8. 克就克嘛!哪个怕哪个
  9. IoC、DI、AOP
  10. java中伪代码_问Java的伪代码怎么书写
  11. 校园网络项目PT模拟
  12. 腾讯x5内核(TBS)简单集成封装
  13. java utf8 gbk 乱码,java UTF-8转GBK不乱码
  14. 九型人格:四、The TRAGIC ROMANTIC 悲情浪漫者 - 我若不是独特的,就没有人会爱我
  15. vue-cli脚手架和npm init vue@latest 区别
  16. 掘金企服:ICP经营许可证和ICP备案的区别 1
  17. 深度学习(九) GAN 生成对抗网络 理论部分
  18. Meta Reality Labs:理想的VR头显还需克服这10项技术挑战
  19. 今日头条2018 坐标
  20. 《程序员》7月刊推荐:社交网数据库技术分析

热门文章

  1. CAXA 3D 实体设计2020 caxa电子图板2020 64位/32位 详细安装方法
  2. 2019届互联网校招【本硕博】薪资大揭秘
  3. Flask学习之旅——1.1初识Flask
  4. 深度学习实例--服装识别
  5. dbaas mysql,Building MySQL DBaaS on Openstack with XtraDB Cluster
  6. 漫谈Web开发技术流派
  7. android 禁止点击的时候圆圈,android 百度地图点击出现圆圈
  8. css制作流程卡片,css3卡片效果制作代码实例
  9. 前端笔试面试题--1
  10. SiTime MEMS硅晶振五大优势