2013-05-11 75 views
2

我正在与J2ME应用程序,该工作从特定端口发送/接收短信。不知何故,我在代码上犯了一些错误,并使应用程序出错。当我已经解决了错误时,应用程序总是会收到2个短信(第一个错误,第二个已经解决)。因为我的应用程序不能正常工作,并且当我尝试更改端口时它再次工作(接收SMS模块)。推送注册表取消注册连接

当我尝试使用不同的端口31211(第一个端口为31210)通过MessageListener类的方法notifyIncomingMessage(MessageConnection mc)进行测试时,MIDlet未启动。因为midlet已经在第一个端口注册(PushRegistry.registerConnection("sms://:31210", "my_midlet_class_name", "*"))。

我尝试使用PushRegistry.unregisterConnection("sms://:31210")取消注册连接,但出现异常Security java/lang/SecurityException Registered by another MIDlet suite。之后,我改变了midlet类的名称,它的工作原理。

的问题是:如何注销,因为我已经改变为sms://:31211不改变MIDlet类名的URL从以下网址sms://:31210连接?

注:

  • 我使用的是诺基亚C3-00的设备
  • S40的操作系统
  • CLDC 1.1 & MIDP仅为2.0

回答

1

MIDlet注册第一个端口可以取消注册。如果可以,请在没有致电registerConnection并致电unregisterConnection的情况下安装第一个MIDlet(较大版本号)的更新。

更新

this article诺基亚:

警告:静态和动态注册不能共存于同一 连接URL。静态注册在安装 应用程序的那一刻保留端口,并且从此时开始,同一端口上的动态注册 将失败。

+0

是的,已经试过了,安全异常出现了。你知道连接保存的位置吗?它是否与'RecordStore'概念相同?如果文件存在,我想手动删除它。 – Crazenezz 2013-05-13 12:26:57

+0

MIDlet是否已签名?如果是这样,更新必须使用相同的密钥进行签名。 – 2013-05-13 13:06:34

+0

不,没有签名... – Crazenezz 2013-05-13 13:10:41