I am developing an application for Nokia 2730 classic (S40) that registers statically to the push-registry with an entry similar to the following one in the jad file:
MIDlet-1: L4ec, /res/midlet_icon.png, net.private.client.MyMidlet
MIDlet-Push-1: sms://:5001, net.private.client.MyMidlet, *
This way I am able to launch the application when we receive an sms at port 5001 and it works fine.
[edited for clarifying the problem]
Normally I install the midlet from Nokia PC-Suite but sometimes after installing it from PC-Suite I reinstall it from the web using the phone's native browser. When I do this reinstallation it generates a conflict in the push registry (maybe because the app is installed two times, one in 'games' folder and the other in 'Collection' folder)
The problem is that when I select "View conflict" the phone "resets". Then, from now on , even removing both of them (the one installed in games and the one installed in Collection) and installing again I will continue having the conflict and I'm not able to clear it.
The only way to be able to run the application after this problem is to register the application to another port different of 5001 but I cannot afford that behaviour, I would need to "clean" the push registry and be able to use again 5001.
So, is there some way to clear the static entries of the push registry?
(It looks that a factory-settings restore is not enough, could I hard-reset this Nokia2730 classic?)
Is there some way I can avoid this situation in the future with this device, how?
And,finally, which is the expected behaviour for the phone when I hit view conflict?
I made a small midlet to check which is the status of the push registry for port 5001 and I get the following results:
If I try to register dynamically to port 5001-> PushRegistry.registerConnection("sms://:5001", this.getClass().getName(), "*");
17:00:01,725 [ERROR]: Failed to add midlet to pregjava.io.IOException: Connection Already RegisteredConnection Already Registered
If I ask which midlet is registered to port 5001 -> PushRegistry.getMIDlet("sms://:5001")
17:00:01,731 [INFO]: The midlet who is registered to the push registry is ->null
If I list connections to the push registry
connections = PushRegistry.listConnections(true);
I get an empty list
If I try to unregister connection at port 5001 I got an exception-> PushRegistry.unregisterConnection("sms://:5001");
Thanks in advance and regards,