屏幕locking在Android时启动NFC

当我们点击NFC标签时,我想要启动“我的应用程序”,即使电话已locking,Google电子钱包应用程序中的 locking方式相同。

我尝试了以下方法:

1)点击电源button后点击NFC标签启动我的应用程序 – 错误

05-23 22:00:22.949: D/NfcService(32443): EnableDisableDiscoveryTask: enable = false 05-23 22:00:22.964: D/NfcService(32443): NFC-C polling OFF 05-23 22:00:22.996: D/PhoneStatusBar(273): disable: < EXPAND icons alerts TICKER system_info BACK* HOME* RECENT CLOCK* > 05-23 22:00:23.988: D/NfcService(32443): NFC-EE routing OFF [10:33:22 AM IST] 

2)按电源button后点击NFC标签,现在我可以看到locking/解锁屏幕 – 错误

 05-23 22:03:59.714: D/NfcService(32443): EnableDisableDiscoveryTask: enable = true 05-23 22:03:59.730: D/NfcService(32443): NFC-EE routing OFF 05-23 22:04:03.238: D/NfcService(32443): NFC-C polling ON 

如果我解锁屏幕,点击NFC标签,一切正常

如何处理电源button和locking/解锁屏幕,以便在手机locking时启动我的应用程序?

  • 使用Android中的application / vnd.wfa.wsc创建NDEF WiFi记录
  • Nexus 7支持哪些NFC标签? (2012)
  • DES发送和接收模式DESFire身份validation
  • 适用于Android的NFC教程,而不是API演示
  • 我的应用程序如何找出启用了哪种NFC模式?
  • 读取/写入带有密码保护的NFC标签
  • Android应用程序来模仿物理RFID卡
  • NFC卡模拟Android
  • 这不被支持。 我不认为即使Google电子钱包以这种方式工作,你确定吗? 这实际上是一个安全function – 你不希望有人偷了你的手机,能够用它来付款而无法解锁它。

    根据谷歌的说法,Android设备必须解锁才能扫描NFC标签[1]。 此外,Google电子钱包涉及隐私和安全性,只能在解锁状态下工作[2]。

    [1] http://developer.android.com/guide/topics/connectivity/nfc/nfc.html

    [2] http://www.google.com/wallet/faq.html

    我正在寻求在我的一个应用程序上实现相同的function。 经过一番search,我发现了这些链接:

    http://www.xda-developers.com/android/use-nfc-with-screen-off-or-in-lock-screen-on-galaxy-nexus/

    另外请注意,新的Moto X是一个名为“跳过”,允许相同的行为function。 您可以在此video中看到一个演示:

    https://www.youtube.com/watch?v=-JUgspIGxcE

    希望它可以帮助

    Nikolay Elenkov同意,由于您无法按住电源button,因此您在启动应用程序时无法解锁手机以启动应用程序。

    如果你使用:

     getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 

    http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_SHOW_WHEN_LOCKED