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

📄 smsreturneventlistener.java

📁 关于开发SMS的java工程
💻 JAVA
字号:
package sms;

import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;

import java.io.IOException;
import java.io.InputStream;


/*
 * 短信发送AT指令可能有返回值,本事件监听器专门监听返回值
 * 但是由于本CDMA正常工作时没有返回值,仅在出现状态错误的时候出现,因此本监听器可以看做是用来
 * 捕获系统错误的类
 */
public class SMSReturnEventListener implements SerialPortEventListener {

	private InputStream inputStream;

	@Override
	public void serialEvent(SerialPortEvent event) {
		
		/*now I don't want to insert some programme into this block ,because
		 * I can't be sure that the super block would work well
		 */
		InputStream inputStream=null;
		
		switch (event.getEventType()) {
		   case SerialPortEvent.BI:
		   case SerialPortEvent.OE:
		   case SerialPortEvent.FE:
		   case SerialPortEvent.PE:
		   case SerialPortEvent.CD:
		   case SerialPortEvent.CTS:
		   case SerialPortEvent.DSR:
		   case SerialPortEvent.RI:
		   case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
		    break;
		   case SerialPortEvent.DATA_AVAILABLE://当有可用数据时读取数据,并且给串口返回数据
			   {System.out.println("得到了一些返回值");
		    byte[] readBuffer = new byte[1024];
		    try {
		     while (inputStream.available() > 0) {//下一次可以不受阻塞而读取的字节数
		      int numBytes = inputStream.read(readBuffer);//从输入流中读取一定数量的字节,并将其存储在缓冲区数组readBuffer中。以整数形式返回实际读取的字节数。
		     }
//		     System.out.println(numBytes);//
		    } catch (IOException e){
		    }finally{
		    	try {
					inputStream.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		    }}
		    break;
		   }
	}
	
	public void setInputStream(InputStream inputStream){
		this.inputStream=inputStream;
	}

}

⌨️ 快捷键说明

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