2011-09-08 81 views
0

我有一個Gui應用程序和背景服務運行在黑莓設備上, 我需要實現Sms偵聽器,它會在確認SMS到達設備後調用一些後臺服務方法,然後它會進入睡眠狀態再次。短信監聽黑莓應用程序和後臺應用程序?

我已經添加了類到我的應用程序,它看起來像那樣。

import javax.microedition.midlet.*; 
import javax.wireless.messaging.*; 

public class SmsListener extends MIDlet implements MessageListener { 

    public void notifyIncomingMessage(MessageConnection conn) { 

    } 

    protected void destroyApp(boolean unconditional) throws MIDletStateChangeException { 

    } 

    protected void pauseApp() {  

    } 

    public void startApp() throws MIDletStateChangeException { 
     System.out.println("Hello from midlet");   
    }  
} 

當我想要啓動它,它的throws我SecurityException

可能是我要去的不是正確的方法是什麼?

如何在應用程序的這種類型(Gui-Application和Background-Service)中實現Listener的這種類型(Sms listener)? PS:我如何在模擬器中測試它,我如何模擬在EMULATOR中接收短信? 預先感謝您。

+0

midlet必須簽名。 –

+0

你能解釋我怎麼用黑莓應用程序來做到這一點? – IamStalker

+0

@IStStalker爲了在模擬器中模擬SMS,我的是Sun Java ME SDK 3.0,執行程序時點擊'WMA Output Window'。 – 2011-09-22 06:13:04

回答

0

如果您的MIDlet執行敏感操作(如打開連接等),則必須對其進行簽名,否則每次都會詢問用戶權限,從而提供可怕的用戶體驗。每個手機品牌都是如此,不僅是黑莓手機。

在BlackBerry中,您可以將您的應用程序作爲MIDlet開發,將jar轉換爲cod文件,然後使用BlackBerry Codesigning Keys對其進行簽名。這種被封裝成鱈魚文件的MIDlet格式就是一些人稱之爲RIMlet的東西。

您可以在BB論壇找到更多信息。另請查看本教程: http://supportforums.blackberry.com/t5/Java-Development/Using-MIDLets-on-BlackBerry/ta-p/442789

+0

現在的問題是我可以註冊它與我的應用程序已經使用替代入口點和GUI? – IamStalker

+1

嗡嗡聲,替代入口點和GUI我會使用一個完整的BB應用程序,擴展UiApplication而不是midlet。 –

+0

我如何爲短信創建監聽器?我如何測試在模擬器上接收的短信? – IamStalker

0

爲什麼不在Oracle文檔中使用該示例?短信是JSR 120。下載this pdf about JSR 120其中包含的例子。