Currently, I am researching the feasibility of an attendance application with the below features written for Android and iOS. iOS - can't be automated. It needs a user input or clicking every time a tag is tapped.
However, I don't have many google results about Android NFC functions. I want the following functions in my attendance app.
Write employee id into a tag or record the tag identifier in an employee record (with 3rd party app)
The attendance app will be installed and set up on an Android mobile phone and it will be kept in a plastic case (attendance kiosk). https://www.famoco.com/use-case/infordata-nfc-students-attendance-tracking/
employees tap and go
Send a tag id or employee id to an Azure API (a token with Azure Daemon API)
API checks if the tag is belonging to an employee
API gets the current status of attendance
API sends back to the android app with status - success, no employee record found, already tapped and cancelled with four times attempts within a certain time period. eg 30 seconds.
Display the result in the app
I'd like to automate the above steps and no user (employee) action/input/clicking must be required in the attendance mobile device app (attendance kiosk).
Is it doable in Android mobile and NFC app?
So you have said the screen will be locked but this mean that NFC will be disabled for normal apps and you have limited capability of displaying stuff to users.
But that is not really what you want to do, you actually want to have the device unlocked BUT in a kiosk type mode. There are third party solutions to do this but you can make your own App do this using various features like "Lock Task Mode", "Be Home App", etc from the Dedicated devices API's
Once you have made your App the only App that can run in the foreground and the device will never go to sleep or lock itself using Dedicated devices features THEN your App can read and process NFC cards without user Interaction as per a normal foreground NFC APP (I would recommend using EnableReaderMode
NFC API to do this as it does not have to pause and restart the foreground App to read the card)
Other Points
So overall doable with some work and all the user would have to do is Tap the NFC Tag to the back of the phone.