Enabling gps on device, via GPSOneLock and IItemStore, E911 mode etc | developer.brewmp.com Enabling gps on device, via GPSOneLock and IItemStore, E911 mode etc | developer.brewmp.com

Developer

Enabling gps on device, via GPSOneLock and IItemStore, E911 mode etc

Forums:

I'm looking at setting the value of the location support on a device, which is normally set in the phone menus under the emergency only or E911-only switch. Of course I would only do this in-app with the user's permission.

This is supposed to be supported via the IItemStore interface, making use of the AEECLSID_GPSOneLock class, since 3.1.5 SP01 I think.
I have got support to work on the Simulator but I cannot get the setting of this to work on any device yet.
I do add the necessary dependency to my .mif file, AEECLSID_GPSOneLock (0x01060e98)

- Can anyone name a device they have this support working for? Getting of this value is generally ok, but not setting via IItemStore_set().
- Or does my implementation show anything fishy, below?

IItemStore * gpsOneLockInst;
int result = ISHELL_CreateInstance(GetIShell_(), AEECLSID_GPSOneLock , (void**)&gpsOneLockInst);
dl("Created GPSOneLock: %d",result);
if (result != SUCCESS) {
return -1;

const char* itemSetValue = toEmergencyOnly ? "true" : "false";
result = IItemStore_Set(gpsOneLockInst, itemSetValue);
dl("ItemStore Set: %d",result);
if (result != SUCCESS) {
return -2;

From that code, the error for example on the VX8560 and VX9600 is 1 upon IItemStore_Set(), presumably a general failure.