web-dev-qa-db-fra.com

Lancement NFC quand l'écran est verrouillé dans Android

Je souhaite lancer Mon application lorsque nous tapons sur la balise NFC même Le téléphone est verrouillé comme dans Application Google Wallet .

J'ai essayé des manières suivantes:

1) Appuyez sur la balise NFC pour lancer mon application après avoir appuyé sur le bouton d'alimentation - Erreur

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) Appuyez sur la balise NFC après avoir appuyé sur le bouton d'alimentation. Je peux maintenant voir l'écran Verrouiller/Déverrouiller - Erreur :

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

Si je déverrouille l'écran et tape sur la balise NFC tout fonctionne correctement

Comment gérer le bouton d'alimentation et verrouiller/déverrouiller l'écran afin de lancer mon application lorsque le téléphone est verrouillé?

17
Venky

Ceci n'est pas supporté. Je ne pense pas que même Google Wallet fonctionne de cette façon, êtes-vous sûr de cela? Il s’agit en fait d’une fonctionnalité de sécurité: vous ne voulez pas que quelqu'un qui a volé votre téléphone puisse effectuer des paiements avec celui-ci sans pouvoir le déverrouiller. 

7
Nikolay Elenkov

Selon Google, les appareils Android doivent être déverrouillés pour pouvoir analyser une balise NFC [1]. Le Google Wallet concerne également la confidentialité et la sécurité et ne fonctionne que dans l'état déverrouillé [2 ].

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

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

6
Nik NexAndrX

Je cherchais à mettre en œuvre la même fonctionnalité sur l'une de mes applications. Après quelques recherches, j'ai découvert ces liens:

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

Notez également que le nouveau Moto X était une fonctionnalité appelée "Skip" qui permet le même comportement. Vous pouvez voir une démonstration sur cette vidéo:

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

J'espère que ça peut aider

3
D-C0d3r

D'accord avec Nikolay Elenkov , comme vous ne pouvez pas vous arrêter sur le bouton Alimentation pour discuter ici vous ne pouvez pas déverrouiller le téléphone pour lancer votre application lors du lancement de votre application.

2
Azhar Shaikh

Cela pourrait probablement fonctionner si vous utilisez:

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

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

0
Hollerweger