你的位置:首页 > 软件开发 > 操作系统 > android 读取串口数据的服务

android 读取串口数据的服务

发布时间:2016-09-18 15:00:07
2016-09-1813:10:03继承Service,定义抽象方法onDataReceived,子类通过实现抽象方法获取接收到数据的回调。 1 package com.zrsoft.liftad.serialport; 2 3 import java.io.File; 4 i ...

2016-09-1813:10:03

继承Service,定义抽象方法onDataReceived,子类通过实现抽象方法获取接收到数据的回调。

 1 package com.zrsoft.liftad.serialport; 2  3 import java.io.File; 4 import java.io.IOException; 5 import java.io.InputStream; 6 import java.io.OutputStream; 7  8 import android.app.Service; 9 import android_serialport_api.SerialPort;10 11 import com.zrsoft.liftad.MyApp;12 import com.zrsoft.liftad.utils.Logger;13 14 public abstract class SerialPortService extends Service {15 17   protected SerialPort mSerialPort;18   protected OutputStream mOutputStream;19   private InputStream mInputStream;20   private ReadThread mReadThread;21 22   private class ReadThread extends Thread {23     byte[] buffer = new byte[128];24 25     @Override26     public void run() {27       super.run();28       while (!isInterrupted()) {29         int size;30         try {31 32           if (mInputStream == null)33             return;34           size = mInputStream.read(buffer);35           if (size > 0) {36             onDataReceived(buffer, size); 38           }39         } catch (IOException e) {40           e.printStackTrace();41           return;42         }43       }44     }45   }46 47   @Override48   public void onCreate() { 50     try { 52       mSerialPort = new SerialPort(new File("/dev/ttyS3"), 9600, 0);53       mOutputStream = mSerialPort.getOutputStream();54       mInputStream = mSerialPort.getInputStream();55 56       mReadThread = new ReadThread();57       mReadThread.start();58     } catch (Exception e) {59       e.printStackTrace();60     }61   }62 63   protected abstract void onDataReceived(final byte[] buffer, final int size);64 65   @Override66   public void onDestroy() {67     if (mReadThread != null){68       mReadThread.interrupt();69     }70     if (mSerialPort != null) {71       mSerialPort.close();72       mSerialPort = null;73     } 75     mSerialPort = null;76     super.onDestroy();77   }78 }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:android 读取串口数据的服务

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录