On nokia 3410 there's the jad attribute Nokia-SMS-Handler- that is used to launch a midlet when an sms is received on an indicated port. Is there a way to implement the same thing on a WMA enabled device (like 3650) ?
Thanx in advance
On nokia 3410 there's the jad attribute Nokia-SMS-Handler- that is used to launch a midlet when an sms is received on an indicated port. Is there a way to implement the same thing on a WMA enabled device (like 3650) ?
Thanx in advance
As far as I remember there is a way to invoke a midlet when SMS arrives... You should check the presentation papers for series60 devices (3650 and 7650)... I think I saw this on the asian nokia site...
Greets,
Dejan.
You can't invoke midlet by using sms, not in MIDP 1.0, you can only do that in MIDP 2.0 with PushRegistry.
The issue here is:
Nokia SMS API only available in Nokia 3410 where:
you created a sms server(listener) "com.nokia.sms://:<port num>"
then in the JAD you put "Nokia-SMS-Handler-1: com.nokia.sms://:<portnum>,,your.Midlet"
consistent with the Nokia SMS API
but in 3650, there's no Nokia SMS API, but it uses javax.wireless.messaging.* API where you create the SMS listener using:
"sms://:<port num>"
but here's the catch, there's no PushRegistry API in MIDP 1.0.
Even if you try to be smart to use MIDP 2.0
"Midlet-Push-1: sms://:<port num>, your.Midlet, *" and insert it in your JAD files, how do you register this handler & your midlet?
makes you wonder why putting WMA in 3650 in the first place isn't it?
does my answer help?
another way for you to invoke the midlet is to create the midlet as a backend service, but it still won't pop up the midlet, you have to process the midlet. But the received SMS will be process though.
Cappish?
bikerzon,
How do you create a MIDlet as bakend service?
The only way I know is to call Display.setCurrent() and pass NULL as a parameter, but it hasn't worked out for me on any device I have tried.
you can't pass null parameter to Display.setCurrent(). You have to use the startApp() & this is invoke by the JVM when you launch the Midlet. Watever/However you do, you have to launch your midlet manually. Only then your midlet/service will be running background.
;-)