How to switch EMDK scanner profiles?


I can't get switching scanner profiles to work.

For TC8000s we created scanner profiles in Android Studio via EMDK Profile Manager. Our profiles just differ in the activated decoders. Trying to switch them like this:

final EMDKResults results = profileManager.processProfile(mProfileName, ProfileManager.PROFILE_FLAG.SET, (String[])null);

if (results.statusCode != EMDKResults.STATUS_CODE.SUCCESS) {

    if (results.statusCode == EMDKResults.STATUS_CODE.CHECK_XML) {

        if (hasStatusXmlErrors(results.getStatusString())) {



    } else {




processProfile() succeeds without errors and checks return the expected values:

ProfileConfig profileConfig = new ProfileConfig();

// This results in W/System.err:

final EMDKResults results2 = profileManager.processProfile(mProfileName, ProfileManager.PROFILE_FLAG.GET, profileConfig);

Log.d(TAG, "mProfileName=" + mProfileName);

Log.d(TAG, "profileConfig.profileName=" + profileConfig.profileName);

Log.d(TAG, "profileConfig.dataCapture.barcode.decoders.aztec="+ profileConfig.dataCapture.barcode.decoders.aztec);

// ...

But the scanners seem to use a default profile that is unaffected by processProfile(). Am I missing a step?

Meanwhile I switched to profileManager.processProfileAsync() - same result though.