nfc触碰后自动发送指定消息
要实现NFC触碰后自动发送指定消息的功能,可以在Android设备上通过以下步骤实现(以发送短信为例):
1. 添加权限和NFC配置
在 AndroidManifest.xml 中添加权限和NFC相关声明:
<!-- NFC权限 -->
<uses-permission android:name="android.permission.NFC" />
<!-- 发送短信权限 -->
<uses-permission android:name="android.permission.SEND_SMS" />
<!-- 仅支持带NFC的设备 -->
<uses-feature android:name="android.hardware.nfc" android:required="true" />
<application>
<activity android:name=".MainActivity">
<!-- 声明响应NFC触碰 -->
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
2. 编写核心代码
在 MainActivity.java 中实现NFC监听和短信发送逻辑:
import android.content.Intent;
import android.nfc.NdefMessage;
import android.nfc.NfcAdapter;
import android.os.Bundle;
import android.telephony.SmsManager;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private NfcAdapter nfcAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取NFC适配器
nfcAdapter = NfcAdapter.getDefaultAdapter(this);
// 检查NFC支持
if (nfcAdapter == null) {
// 设备不支持NFC,提示用户
return;
}
// 首次启动时处理NFC触碰事件
handleIntent(getIntent());
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// 处理新的NFC触碰
handleIntent(intent);
}
private void handleIntent(Intent intent) {
// 验证是否为NFC触碰事件
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
// 获取NFC数据
NdefMessage[] messages = intent.getParcelableArrayExtra(
NfcAdapter.EXTRA_NDEF_MESSAGES,
NdefMessage.class
);
if (messages != null && messages.length > 0) {
// 触碰到NFC标签时发送短信
sendSMS("目标手机号", "指定消息内容");
}
}
}
// 发送短信方法
private void sendSMS(String phoneNumber, String message) {
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
} catch (SecurityException e) {
// 处理权限异常
}
}
@Override
protected void onResume() {
super.onResume();
// 启用前台调度系统(捕获NFC事件)
if (nfcAdapter != null) {
nfcAdapter.enableForegroundDispatch(
this,
null, // 使用默认的PendingIntent
null,
null
);
}
}
@Override
protected void onPause() {
super.onPause();
// 暂停时禁用NFC监听
if (nfcAdapter != null) {
nfcAdapter.disableForegroundDispatch(this);
}
}
}
3. 关键点说明
- NFC触碰检测:通过
onNewIntent捕获触碰事件,handleIntent解析NFC数据。 - 短信发送:使用
SmsManager发送短信,需在Android 6.0+动态申请SEND_SMS权限。 - 权限处理:在运行时动态申请权限:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions( this, new String[]{Manifest.permission.SEND_SMS}, REQUEST_SMS_PERMISSION ); }
4. 测试条件
- 设备要求:
- 支持NFC的Android手机(系统需 ≥ Android 5.0)。
- 开启NFC功能(设置 → 连接与共享 → NFC)。
- NFC标签:写入任意NDEF数据(可用APP如"NFC Tools"写入空标签)。
- 测试步骤:
- 安装APP并授予短信权限。
- 打开APP,用NFC标签触碰手机背部。
- 自动向预设号码发送短信。
替代方案(无需代码)
- 使用Tasker或MacroDroid:
通过自动化工具配置:- 创建新任务:触发条件选
NFC→ 扫描标签。 - 操作:
发送短信→ 填写内容和收件人。 - 保存后触碰NFC标签即可执行。
- 创建新任务:触发条件选
优势:无需开发,适合普通用户,但需购买/安装第三方工具。
根据需求选择开发或自动化工具方案即可实现NFC触碰发送消息的功能。
基于双接口NFC芯片的FPGA验证系统
介绍了一种双接口NFC芯片的架构和功能,提岀并实现了用于该双接口NFC芯片的FPGA验证系统及其验证流程。该FPGA验证系统包括FPGA、PIC单片机以及带N
资料下载
佚名
2021-05-26 14:03:26
汽车侧碰仿真:用RADIOSS多域求解资料下载
电子发烧友网为你提供汽车侧碰仿真:用RADIOSS多域求解资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
资料下载
贾大林
2021-04-07 08:47:37
鸿蒙3.0上配置NFC碰一碰
最近更新了 HarmonyOS 3.0 系统,按照过去的方法配置 NFC 碰一碰方法配置应用,发现出现了一些问题,在一些摸索测试中总结了一套最新
2022-12-26 10:02:51
触碰式触摸检测,原理搞不清?
最近遇到一个难题,功能是通过碰触金属来实现触摸功能,通过2个IO口高频的充放电,检测电容电压到高电平就完全放电再循环,当有碰触到金属触摸片时,整个充电过程需要的时间会大幅度缩短,可以明显区分触碰与无
机智云NFC“碰一碰”配网解决方案
较长、设备响应速率慢等问题,不利于用户初次使用和体验智能设备。因此,快速简单的配网方式成为市场需求所在,比如基于NFC的IoT设备一碰配网解决方案。机智云+内置鸿蒙系统的
2021-04-20 14:20:31
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
- 元宇宙概念龙头股一览