android - 如何在不删除标签的情况下读取标签并在格式化后再次标签
问题描述
我正在编写一个将消息写入Factory-New标签的程序
public void onNewIntent(Intent intent) {
Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
Ndef ndefTag = Ndef.get(tagFromIntent); //ndefTag will be null here
.
.
.
//read message , return if correct ,continue if empty or not correct
.
.
.
if (ndefTag == null) {
// try to format the Tag in NDEF
NdefFormatable nForm = NdefFormatable.get(tagFromIntent);
if (nForm != null) {
nForm.connect();
nForm.format(message);
nForm.close();
}
} else {
ndefTag.connect();
if (!ndefTag.isWritable()) {
Toast.makeText(getApplicationContext(), "Locked", Toast.LENGTH_SHORT).show();
locked = true;
//ndefTag.close();
} else {
ndefTag.writeNdefMessage(message);
//ndefTag.makeReadOnly();
//ndefTag.close();
Toast.makeText(getApplicationContext(), "Write success", Toast.LENGTH_SHORT).show();
}
}
}
用消息格式化标签后,我想检查消息是否正确
但是“intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)”仍然得到相同的标签,没有书面消息,所以我必须删除标签并再次标记它
有什么方法可以再次调用 NFC 传感器进行标记?
还是更好的格式化和写入方式-> 读取?
解决方案
推荐阅读
- excel - Excel:仅在有值时才添加
- javascript - 保持PHP文件加载在内存中,以免冷启动
- swift - 如何通过动画填充特定颜色的 SKLabelNode?
- angular - Ionic v5 滚动到顶部
- sql-server - SQL Server 2016 ALTER ASSEMBLY 命令失败——不是兼容升级
- c# - 我如何映射表达式
> 到表达式 >? - javascript - 需要标签来保存自己的状态,因此它可以在其中保存自己的项目数量
- c++ - 我制作了自己的自定义堆栈,并想知道如何反向遍历堆栈
- javascript - 将特定对象属性提取到数组中
- javascript - 如何在 vuejs 功能组件上设置类属性