当前位置: 首页 > 知识库问答 >
问题:

Android NFC是否可以在没有用户输入/操作或通知的情况下工作?

东郭展
2023-03-14

目前,我正在研究一个考勤应用程序的可行性,该应用程序具有为Android和iOS编写的以下功能。iOS-不能自动化。每次点击标签时,它都需要用户输入或单击。

然而,我没有很多关于Android NFC功能的谷歌搜索结果。我想在我的考勤应用程序中使用以下功能。

>

  • 将员工ID写入标记或在员工记录中记录标记标识符(使用第三方应用程序)

    考勤应用程序将安装和设置在Android手机上,并保存在塑料盒(考勤亭)中。https://www.famoco.com/use-case/infordata-nfc-students-attendance-tracking/

    员工们轻敲着就走

    将标记ID或员工ID发送到Azure API(具有Azure Daemon API的令牌)

    API检查标签是否属于员工

    API获取考勤的当前状态

    API发送回Android应用程序的状态-成功,没有找到员工记录,已经点击和取消与四次尝试在一定的时间周期内。

    在应用程序中显示结果

    我希望自动执行上述步骤,并且在考勤移动设备应用程序(考勤亭)中无需用户(员工)操作/输入/单击。

    在Android手机和NFC应用程序中是否可行?

  • 共有2个答案

    马坚白
    2023-03-14

    Android NFC是否可以在没有用户输入/操作或通知的情况下工作?

    当然不是。至少用户必须允许连接(有线或NFC)

    慎志国
    2023-03-14

    所以你说屏幕将被锁定,但这意味着NFC将被禁用于普通应用程序,并且你向用户显示内容的能力有限。

    但这并不是你真正想做的,你实际上想让设备解锁,但在亭类型模式。有第三方解决方案可以做到这一点,但您可以使用专用设备应用编程接口的各种功能,如“锁定任务模式”、“家庭应用”等,让自己的应用程序做到这一点

    一旦您的应用程序成为唯一可以在前台运行的应用程序,并且设备将永远不会进入睡眠状态或使用专用设备功能锁定自身,那么您的应用程序就可以按照正常的前台NFC应用程序在无需用户交互的情况下读取和处理NFC卡(我建议使用EnableReaderModeNFCAPI来执行此操作,因为它不必暂停并重新启动前台应用程序来读取卡)

    其他要点

    • 设备需要主电源供电,否则会很快耗尽电源
    • 不要使用OLED屏幕,否则会出现屏幕烧坏问题
    • 不要使用标签ID,因为这可能是伪造的且不安全,请使用加密方法将数据安全地写入标签
    • 使用手机对用户交互不太有利,因为NFC阅读器通常位于背面,通常不会通过屏幕进行读取,因此用户需要访问手机背面以放置待读取的标签

    所以总的来说,一些工作是可行的,用户所要做的就是点击手机背面的NFC标签。

     类似资料:
    • 是否可以在没有实体的情况下使用JpaRepository?在这种情况下,将其替换为DTO。 如下示例所示 这种情况有替代方案吗? 注意:DTO已经映射,但我不想创建视图来将此DTO转换为实体。 我已经验证了这个主题,但没有重大进展,请使用无实体的JpaRepository交互样式 我在试这个 接口- 公共接口BffDTOInterface2{ } 我有这个错误

    • 我想使用并使其直接进入给定的url,而不是从ribbon配置中获取主机。 我知道在Spring,cloud-feign默认与ribbon和eureka一起出现。 根据这个:https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-ribbon.html#spring-cloud-ribbon-without-eure

    • 我在应用程序中实现了firebase,以便使用它的通知服务,它工作了,今天决定使用它的键/值特性,但意识到无论我在从继承的类中编写什么,都不会发生任何事情。所以我决定移除my类以达到dubugging的目的,但我还是收到了通知。所以我从清单中删除了firebase消息传递服务,删除了应用缓存并运行了项目,但我仍然得到通知!我能阻止通知到来的唯一方法是移除Gradle中的firebase依赖项。这里

    • 在Spring Boot的文档中,我只找到了使用Redis会话的例子,不使用Redis也能使用它吗?

    • 我需要从起始偏移量到结束偏移量读取一组记录。我使用专用Kafka消费品。我至少同意一次语义(在这种情况下,如果给定的应用程序实例宕机,新的应用程序实例从该起始偏移量重新读取记录)。 那么,我可以使用这样的代码吗? 因此: 我没有 是正确的代码吗?或者它有一些隐藏的问题?