当前位置:  技术问答>java相关

为什么这个监听器一注册,程序就退出 (j2me 关于短信接收的问题),分不够再加,在线等待

    来源: 互联网  发布时间:2015-11-18

    本文导语:  package test01; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import com.siemens.mp.gsm.SMS; import com.siemens.mp.NotAllowedException; import java.io.IOException; import com.siemens.mp.io.*; public class StartMIDlet extends MIDlet { static StartMI...

package test01;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import com.siemens.mp.gsm.SMS;
import com.siemens.mp.NotAllowedException;
import java.io.IOException;
import com.siemens.mp.io.*;
public class StartMIDlet extends MIDlet
{
static StartMIDlet instance;
UIMainList MainList = new UIMainList();
public StartMIDlet()
{
instance = this;
}
public void startApp() throws MIDletStateChangeException   
{
try
{
Display.getDisplay(this).setCurrent(MainList);
}
catch(Exception e)
{
System.out.println("e = "+e);
}
}
public void pauseApp()
{
}
public void destroyApp(boolean UIcondition)
{
}
public static void quitApp()
{
instance.destroyApp(true);
instance.notifyDestroyed();
instance = null;
}
}

class UIMainList extends List 
{
private static String[] Str_List = {"A",
"B",
"C"};
static Displayable instance = null;
private Command cmExit;
private Command cmInfo;
public UIMainList() //throws Exception
{
super("测试",
List.IMPLICIT,
Str_List,
null);
 setCommandListener(new CommandListener()  
 {
    public void commandAction(Command c, Displayable d) 
    {
      DisplayCommand(c,d);
    }
   }
  );
cmInfo = new Command("Help", 1, 1);
cmExit = new Command("Exit", 1, 2);
jbInit();
instance = this;
temp_run();

}
public void temp_run() //throws Exception
{
Receiver rec = new Receiver();
Connection con = new Connection ("SMS: 223322332"); 
Alert str = new Alert("fail");
try
{
con.setListener(rec); 
//把上面这句注释后程序能跑,一打开模拟器就死。为什么?
//没有这句,我就监听不到短信的到来啊

}
catch(Exception e)
{
Display.getDisplay(StartMIDlet.instance).setCurrent(str);
}

}

public void DisplayCommand(Command c,Displayable d)
{
if(c == cmExit)
{
instance = null;
StartMIDlet.quitApp();
}
else if( c == cmInfo)
{
Alert Al = new Alert("Help");
Al.setString("测试的帮助文件");
Display.getDisplay(StartMIDlet.instance).setCurrent(Al);
}
}
private void jbInit()
{
addCommand(cmInfo);
addCommand(cmExit);
}

}

class Receiver implements ConnectionListener
{
public void receiveData(byte[] data)
{
try
{
Alert str = new Alert("sms succ");
Display.getDisplay(StartMIDlet.instance).setCurrent(str);

}
catch(Exception e)
{
Alert str = new Alert("sms fail");
Display.getDisplay(StartMIDlet.instance).setCurrent(str);
}
}
}




 


|
这主要是手机厂商提供支持的问题。我将你的代码拿过去测试以后,几种注册的方法都测试过,在模拟器上都会退出,而在实际的siemens3188上没有退出,不过没有监听到

    
 
 

您可能感兴趣的文章:

  • 回收Oracle的监听器日志文件
  • 是不是applet不能实现事件监听器接口啊?
  • swing中的监听器能不能带其它参数啊,除了事件本身?
  • Oracle监听口令及监听器安全详解
  • 监听器问题
  • java中多点传送(同一个事件可同时传送给多个监听器对象corejava1例8.6)采用哪种设计模式谢谢
  • Oracle数据库监听器的问题
  • A10_DatePicker的对话框设置(使用OnDateSetListener监听器)
  • 这个监听器如何注册(j2me 关于短信的到来)(分不够再加)
  • Oracle教程:浅析监听器安装/配置入门
  • Oracle监听器Server端与Client端配置实例
  • Oracle监听器服务不能启动的解决方法
  • 非常头痛的问题:编译java程序时的错误,一个是监听器、一个在调用方法时
  • Oracle 11g2的监听器配置教程
  • 关于监听器
  • TestNG 监听器扩展插件 NetEase Arrow
  • android Animation监听器AnimationListener的使用方法)
  • [图文]如何保护好Oracle服务器上的监听器
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3