J'ai un problème auquel je n'ai pas trouvé de solution sur ce site, mais s'il s'agit d'une question en double, je m'en excuse.Android Intention de réouverture de l'activité
Je développe une application qui sert de terminal pour l'enregistrement lorsque les employés commencent/finissent le travail, entre autres choses. La façon dont cela fonctionne est qu'avec NFC allumé, ils scannent leurs cartes NFC et mon application les lit et envoie finalement les informations appropriées au serveur.
Cependant, si l'application est déjà ouverte (elle est censée être ouverte en permanence, c'est donc un problème) et qu'une carte NFC est scannée, elle rouvre l'application. Bien sûr, cela est fait parce que je l'ai mis ainsi dans le manifeste. Mais je ne peux pas trouver un moyen d'avoir mon application recieve l'intention de balayage NFC si je ne fais pas toutes ces lignes dans le manifeste:
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
J'ai essayé en train d'écrire sans mais dans ce cas, il ne fonctionne pas Lire la carte, mais à la place le sélecteur de programme apparaît sur le téléphone, ou si le téléphone n'a pas une application appropriée, il dit simplement "NFC read error"
.
Quelqu'un at-il une solution pour cela? C'est la dernière étape de mon projet, et j'ai eu beaucoup de problèmes avec cela, et j'apprécierais toute aide. C'est probablement quelque chose de simple que je ne vois pas, mais je l'apprécierais de toute façon.
Avez-vous essayé android: launchMode = « SingleInstance » mis en activité dans –
manifeste Oui, je l'ai fait, mais je n'ajoute la méthode surchargée de OnNewIntent, et que résolu le problème comme je le voulais. – OliveraP
intention.getAction(). Égal à (NfcAdapter.ACTION_TAG_DISCOVERED) l'a vérifié pour moi avec succès. @RaviGadipudi – OliveraP