Nothing works (nothing is ready for use?) after a AEECLSID_SHELL/NMASK_SHELL_INIT event | developer.brewmp.com Nothing works (nothing is ready for use?) after a AEECLSID_SHELL/NMASK_SHELL_INIT event | developer.brewmp.com

Developer

Nothing works (nothing is ready for use?) after a AEECLSID_SHELL/NMASK_SHELL_INIT event

Forums:

My application launches at devie start up and makes a HTTP connection, as part of the HTTP info that is sent is the phone number and MEID.

If I start my application after receiving an AEECLSID_SHELL/NMASK_SHELL_INIT then

1) The HTTP connection fails with AEE_NET_ENETDOWN on some devices and with -39 (what ever that is?) on a different device.

2) The call to ISHELL_GetDeviceInfoEx() to get the MDN fails with an "MDN NOT AVAILABLE" message.

3) The call toISHELL_GetDeviceInfoEx()to get the MEID fails.

 

If after the failures I retry immediatly again, it still fails, if after that I set a timer and retry again a few mintues later then 1) and 2) are this time successful but 3) still fails.

So my assumption is that immediatly or shortly after receiving AEECLSID_SHELL/NMASK_SHELL_INIT init the system has not fully finished initializing and networking etc. is not yet ready to use.

 

I want to connect as soon as possible after the device has booted up - so my question is how do I know when the MDN is available to obtain, and the networking system is ready to try a http connection?

 

As a side question, why does the call to get the MEID continue to fail?

You are right, after rebooting some services takes time to initialize. Your approach to use timer is good.
on which device MEID continue to fail?

You are right, after rebooting some services takes time to initialize. Your approach to use timer is good.
on which device MEID continue to fail?

I don't think using a timer is a particularly good approach however (if I want the connection to occur as soon as is possible) - there must be a recommended way of being informed by the system when things are ready to use?
 

I don't think using a timer is a particularly good approach however (if I want the connection to occur as soon as is possible) - there must be a recommended way of being informed by the system when things are ready to use?
 

how soon services are available will vary OEM to OEM, also on hardware configuration like processing speed. You have to provide some delay in your application.

how soon services are available will vary OEM to OEM, also on hardware configuration like processing speed. You have to provide some delay in your application.