I'm developing a SIM Tookit app which needs to do an 'automatic' Launch Browser (i.e. NOT triggered by a user menu) sometime shortly after the phone starts up. Obviously it needs a data connection (GPRS, HSCSD…) to work properly, but how can my app know when the data connection is active? Any ideas anyone?
I'm currently using a Timer Management command to set up a 20(ish) second delay which is usually long enough for the phone to establish it's data connection. However this is not ideal as a) it's not a reliable technique and b) Timers are not a well supported/implemented feature in many phones.
Is there a better way of ensuring a data connection before issuing Launch Browser, alternatively is there a way of implementing a reliable delay without using Stk timers?
I think you need to read the BIP part in the Interoperability Stepping Stones document issued by SIMAlliance.
the event you need to register your applet with it is EVENT DOWNLOAD – Data available.
If the applet is registered to this event (through the ToolkitRegistry.setEvent() method), and once the
targeted channel buffer is empty when new data arrives in it, the ME informs the UICC that this has occurred, by using
the ENVELOPE (EVENT DOWNLOAD – Data available).
You are of course correct. Thank you for your prompt reply.
Unfortunately I'm targetting Android phones, which generally have very limited SIM Toolkit support - and certainly not the data commands (Open Channel etc) :-(