带有BlackBerry Application和Background Application的短信听众?

时间:2011-09-08 08:26:23

标签: java blackberry java-me emulation midlet

我有一个在Blackberry设备上运行的Gui-Application和Background-Service, 我需要实现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");        
    }       
}

当我想发起它时,它会给我一个SecurityException

我可能不是正确的方式吗?

我如何在应用程序的那种(Gui-Application和Background-Service)中实现Listener的这种(Sms监听器)? PS:我如何在模拟器中测试它,我如何模拟在EMULATOR中接收的短信??? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果您的MIDlet执行敏感操作(如打开连接等),您必须对其进行签名,否则每次都会询问用户权限,从而提供可怕的用户体验。每个手机品牌都是如此,不仅仅是黑莓手机。

在BlackBerry中,您可以将应用程序开发为MIDlet,将jar转换为cod文件,并使用BlackBerry Codesigning Keys进行签名。这种打包为cod文件的MIDlet格式是有些人称之为RIMlet的。

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

答案 1 :(得分:0)

为什么不在Oracle文档中使用该示例?短信是JSR 120。下载包含示例的this pdf about JSR 120