Installing Headwind MDM as the system app doesn't grant the device owner rights (here's how to grant the device owner rights if required).
To improve the enrollment user experience, you need to build your own version of Headwind MDM and make slight changes to the source code.
Find the app/src/main/java/com/hmdm/launcher/ui/BaseActivity.java and change the line 130:
enterDeviceIdDialogBinding.showDeviceIdQrCode.setVisibility(Utils.isDeviceOwner(this) ? View.VISIBLE : View.GONE);
This will enable a "QR code" button in the "Device ID" dialog, so you could use QR code for enrollment.
Another options are:
1. Use IMEI as the Device ID.
To enable IMEI suggestions, change the option SUGGEST_IMEI_AS_ID to true in app/build.gradle:
buildConfigField("Boolean", "SUGGEST_IMEI_AS_ID", "true")
In the device ID dialog, you'll get the "Suggest" button.
2. Change the server URL
To update the server URL, change the build parameter BASE_URL (and SECONDARY_BASE_URL) in build.gradle to the URL of your MDM server. The SERVER_PROJECT parameter contains the path of Headwind MDM web panel on your server (leave it empty if you're installing in the root folder).