QR Code APK requirements?

manny
Level 1.5: Cupcake

Hello,

 

I am utilizing the QR provisioning method to install an APK that utilizes the DeviceAdminReceive subclass. I was able to get it working on Android 10 tablets, but now I am running into the "Can't set up device \n Contact your IT admin for help" issue for Android 13 tablets. I am using the same payload for both Android versions. My current payload looks something like this:

{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "com.example/.DeviceAdminReceiver", "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM": "<checksum>", "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "<s3-bucket-url>
", "android.app.extra.PROVISIONING_SKIP_ENCRYPTION": false,
"android.app.extra.PROVISIONING_WIFI_SSID": "<ssid>",
"android.app.extra.PROVISIONING_WIFI_PASSWORD": "<password>", "android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE": "WPA"

}

I have looked through this forum and have attempted to add the additional fields below (thinking it may have been an additional requirement for newer Android versions that I may have missed) but still no luck: 

"android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED":false,
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": {}

I have confirmed that granting Device Owner is possible via ADB and the APK is compatible and working on the Android 13 tablet. Are there any other components I am able to modify to attempt to fix this issue? Is there something on the tablet that can cause this issue? Although the APK seems to be fine, could the minSDK (23), compileSDK (33), and targetSDK (28) be a potential cause?

1 ACCEPTED SOLUTION

Moombas
Level 4.0: Ice Cream Sandwich

Nice to hear that i was able to point you into the right direction 😉

View solution in original post

6 REPLIES 6

ReeceK
Google Community Team

Hey @manny!

 

Thanks for letting me know about this. I'll check with our internal teams to learn more. 

 

I'll get an answer for you shortly and keep you posted! 😊

 

Cheers,

Reece

Moombas
Level 4.0: Ice Cream Sandwich

Hi manny,

not entirely sure but try to add this:

"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":
{"PROVISIONING_MODE":"XXXXXX"}

Where XXXXXX can be FULLY_MANAGED_DEVICE or MANAGED_PROFILE depending on what kind of enrollment you do. But this was stated from our MDM to be needed, can be different for others.

ReeceK
Google Community Team

Hey @manny,

 

I hope you're doing well. 😊

 

I received an update from my end regarding this question, but I wanted to double-check if @Moombas ' suggestion worked?

 

Thanks, Reece

 

manny
Level 1.5: Cupcake

Hello @Moombas,

After receiving your response, I looked into the provisioning mode requirements and found the requirements for Android 12 and above on Admin Provision Source.

In addition to the DeviceAdminReceiver subclass, I added two additional classes that handle the DevicePolicyManager#ACTION_GET_PROVISIONING_MODE and DevicePolicyManager#ACTION_ADMIN_POLICY_COMPLIANCE intent actions. After some testing, I am able to successfully provision tablets on Android 10, 13, and 14.

Thank you for the help. 

Moombas
Level 4.0: Ice Cream Sandwich

Nice to hear that i was able to point you into the right direction 😉

ReeceK
Google Community Team

Hey @manny 

 

That's awesome! Glad we could help. 😊

 

Thanks @Moombas for your help with this.

 

Reece