⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smsreceive.java

📁 本程序是j2me
💻 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){}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -