?? smsreceive.java
字號:
package com;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.wireless.messaging.BinaryMessage;
import javax.wireless.messaging.Message;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.MessageListener;
import javax.wireless.messaging.TextMessage;
public class SMSReceive extends MIDlet implements CommandListener,Runnable,MessageListener {
private Command exit;
Alert content;
Display display;
Thread thread;
MessageConnection smsconn;
Message msg;
String senderAddress;
public SMSReceive() {
// TODO Auto-generated constructor stub
display=Display.getDisplay(this);
exit=new Command("Exit",Command.EXIT,1);
content=new Alert("Sms Received");
content.setTimeout(Alert.FOREVER);
content.addCommand(exit);
content.setCommandListener(this);
content.setString("Waiting to Sm.....");
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
thread=null;
if(smsconn!=null)
{
try{
smsconn.close();
}catch(IOException e){}
}
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
String smsConnection="sms://:5000";
if(smsconn==null)
{
try{
smsconn=(MessageConnection)Connector.open(smsConnection);
smsconn.setMessageListener(this);
}catch(IOException e){}
}
thread=new Thread(this);
thread.start();
display.setCurrent(content);
}
public void notifyIncomingMessage(MessageConnection conn)
{
if(thread==null)
{
thread=new Thread(this);
thread.start();
}
}
public void run()
{
try
{
msg=smsconn.receive();
if(msg!=null)
{
senderAddress=msg.getAddress();
content.setTitle("Message from:"+senderAddress);
if(msg instanceof TextMessage)
{
content.setString(((TextMessage)msg).getPayloadText());
}
else
{
StringBuffer buf=new StringBuffer();
byte[] data=((BinaryMessage)msg).getPayloadData();
for(int i=0;i<data.length;i++)
{
int intdata=(int)data[i] & 0xFF;
if(intdata<0x10)
{
buf.append("0");
}
buf.append(Integer.toHexString(intdata));
buf.append(' ');
}
content.setString(buf.toString());
}
display.setCurrent(content);
}
}catch(IOException e){}
}
public void commandAction(Command c,Displayable s)
{
try{
if(c==exit)
{
destroyApp(false);
notifyDestroyed();
}
}catch(Exception e){}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -