我是 android 的新手,我开发了一个应用程序储物柜。现在,我希望我正在锁定的应用程序应该使用无需手动输入密码的 nfc 标签解锁。我该如何执行它?
最佳答案
由于您已经拥有应用程序储物柜部分,我假设当用户尝试启动应用程序时,您的应用程序储物柜将改为显示其解锁 Activity ,要求用户输入密码。
在该解锁 Activity 中,您现在可以(代替或除了询问密码之外)要求用户扫描 NFC 标签。因此,您的 Activity 将注册 NFC foreground dispatch system并等待 NFC 标签被扫描(或用户手动输入密码)。一旦您的 Activity 通过前台调度系统接收到 NFC 标签发现 Intent ,您就可以与标签通信,并根据此通信的结果做出访问控制决策。
至于您应该使用什么 NFC 标签/非接触式智能卡以及您应该在上面存储什么信息:这是一个很难回答的问题!这在很大程度上取决于您的安全要求。在最简单的情况下,您可以根据标签的(唯一)标识符做出决定。但是,您必须记住,标识符既不是唯一的也不是不可克隆的。作为替代方案,您可以使用(真实的)NFC 标签并在其上存储 NDEF 消息。该 NDEF 消息可能包含您的应用程序用作解锁凭证的一些标识符/密码。同样,NFC 标签是公开可读的,因此 NDEF 消息可以复制/克隆到另一个标签。支持 NFC 论坛标签类型之外的加密功能的标签可以实现进一步的安全性,但对于 StackOverflow 格式的讨论肯定是广泛的。
关于android - 使用 nfc 解锁应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23081560/