2013-05-11 109 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