After using the ReaderHWReset function that was present in the Android library, I get an error message 0x0F (UFR_PARAMETERS_ERROR) from the reader after each call.
Currently, there is no way to automatically detect cards when it approaches the reader using the Android library. There are several reasons for this, mainly because the uFCoder library is written in C code and the way uFR Series readers work.
However, you can use other methods to achieve a similar result, using a few particular functions from uFR Series API.
We suggest that you take a look at some of our basic examples written in C. In those examples there is code for continuous polling of uFR Reader and cards in its NFC field, using the GetCardIdEx() function from our API.
Depending on the return value (status) of the GetCardIdEx function, the user can determine whether the card is present or not, receive the card UID, and then delegate it further to other methods and how to interact with the card.
Based on Android API, for example, we suggest having a separate thread in which this detection loop would run continuously, and then have other threads interact with the card/reader based on the status/results of GetCardIdEx in that thread.
Of course, there can be several approaches to implementing this which are left for users to decide on.
Please take a look into these examples to see how GetCardIdEx() and the described methods for continuous polling work: