Scanner stops using the profile intermittently

Sometimes after the scanner hasn't been used in a while the EMDK ignores the profile being used and goes back to it's defaults of just using the keystroke inputs. The profile I'm using turns off the keystroke inputs and uses intents instead. The app I've written connects to the scanner when it starts or comes into the foreground and disconnects from the scanner when it goes into the background. I haven't been able to find out the exact frequency of when this happens.

When this happens, I can close the app and open it up again and the profile gets loaded just fine. Other times I need to restart the device before the profile starts working again. Both of these situations are not ideal, as we really just want it to work without these sorts of workarounds.

I have added some logging and it doesn't look like I'm getting any errors from the EMDK when the app connects or when it process the profile. Is there a proper way to ensure the profile will be applied every time?

I saw mention of a similar problem in and the suggestion of possibly using the DataWedge APIs instead of the EMDK. Is this still the recommendation?

EMDK service version - 6.7.10.1010

OS version - 7.1.2

Device model - TC75EK