我目前正在尝试使用NFC卡制作登录系统。这个想法是,Android将用户名写入NFC卡,然后在Android上扫描该卡时,该卡上的用户将自动登录。
我卡上的技术是:
我已经为此搜索了几天,找不到有效的解决方案。
编辑谢谢大家的回答。问题已解决。
[如果有人需要一些代码,可以在以下位置下载https://drive.google.com/file/d/1fADWUYxCxFIMqLIyeYrv7Q9HDjd99PgJ/view?usp=sharing
此rar包含Java文件,xml文件和txt文件,以作一些说明。
可以这样做吗?是
大多数教程和Android文档都指向您使用enableForegroundDispatch
,但是这种使用NFC的方式存在很多问题,由于它会暂停您的应用执行读取操作,因此在实际用户操作中会产生不可靠的读取结果。在实际用户操作中写入也非常不可靠,因为它会在写入完成之前发出蜂鸣声来误导用户。
最好使用enableReaderMode
https://developer.android.com/reference/android/nfc/NfcAdapter.html#enableReaderMode(android.app.Activity,%20android.nfc.NfcAdapter.ReaderCallback,%20int,%20android.os.Bundle)
但是我还没有找到有关此的教程,但是下面是我给出的其他答案的一些指针。
enableReaderMode
的一个例子是在https://stackoverflow.com/a/59397667/2373819
虽然您可能不想或需要转到此答案中显示的低级数据读取(或低级写入),但您可能想改用较高级别的NDEF数据格式
为了获得可靠的写入,当您尝试对其进行写操作并很好地处理写错误时,请不要假定该卡仍在范围内。我发现最好的方法是存储要写入的数据,直到通知您的应用程序已检测到标签,然后立即写入卡。 https://stackoverflow.com/a/59423011/2373819
中显示的逻辑