在根目录的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. 听说又被 JVM 内存区域方面的面试题给虐了?看看这篇文章吧!
  2. 服务模拟-ServiceMock
  3. MongoDB基本概念和安装配置
  4. codeforces 269B Greenhouse Effect
  5. 互联网日报 | 6月15日 星期二 | 凯撒旅业拟换股吸并众信旅游;爱回收预计6月18日登陆纽交所;顺丰航空机队规模增至66架...
  6. spss主成分综合得分_权重赋值之“主成分分析法”
  7. 获取服务器响应失效,从Web服务器获取响应时出现问题
  8. 用深度优先搜索解决最长路径问题
  9. ArcGIS Runtime SDK for Android 100开发环境部署
  10. hbase 二级索引方案
  11. html5测试网速插件,js 检测客户端网速
  12. eclipse SWT 中实现工程图标最小化到托盘,并只能右键托盘图标选择关闭
  13. 计算机网络维护服务承诺书,网络信息技术中心服务承诺书
  14. 腾讯地图位置服务器,腾讯地图推出地形图服务
  15. 找寻 手游BUG的学习
  16. 2021年软考时间阶段
  17. ubuntu系统损坏修复_修复损坏的ubuntu gui
  18. 使用jQuery调色器farbtastic--触发change事件
  19. 2022年河南省焊工高级技师理论知识模拟试题及答案
  20. PCB LAYOUT高速信号走线指南

热门文章

  1. 桌面助手开源_用开源设计桌面游戏
  2. outlook反应慢的原因_亲子游戏丨孩子反应慢,动作迟钝?父母一定要多与孩子玩这些游戏!...
  3. 什么行业越老越吃香?
  4. 吸土城职业技术学校计组撒比课设TEC8硬布线控制器的设计实现
  5. ctfhub技能书+历年真题学习笔记(详解)
  6. 将DataTable中的数据保存到Excel (二) 使用NPOI
  7. FORK客户端使用教程
  8. 如何用雷达触控系统代替油墨导电系统?
  9. 下班后这9件事,决定不同的人生
  10. iPhone为什么这么流畅?对比下清理方法就能发现,难怪不卡顿