Android NFC card emulation
No, you cannot set the anti-collision id (UID, this is what MIFARE readers usually show as "card number") programmatically in Android. In fact, by default, many Android devices will expose a random UID (see Get Static NFC Tag ID with HCE Mode and Fix NFC Chip ID in Android ).
However, at least for the Broadcom NFC chipset, it seems possible to set the anti-collision id to a static value, either by editing the config file on the system image ( Editing Guest Card Emulation Functionality in Android ) or by configuring libnfc-nci emulation ( host based card emulation with fixed card ID )
source to share