• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: Java
  • 标签: BlueTooth  

资源简介

蓝牙连接部分的核心代码,解决Android手机和单片机连接的一些问题。

资源截图

代码片段和文件信息

package com.ostd.eoiot.bluetooth;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import java.util.Iterator;

import java.util.Set;


import android.annotation.SuppressLint;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;

import android.os.Handler;
import android.os.Message;

public class BlueToothClient extends Thread {


private boolean isConnecting = true;
private BluetoothAdapter mBluetoothAdapter = null;
private BluetoothDevice mmDevice = null;
private Method M = null;
 private BluetoothSocket btSocket = null;
    private InputStream instream = null;
private static OutputStream outstream = null;
static BufferedReader mBufferedReaderClient = null;
static PrintWriter mPrintWriterClient = null;
private static String address ;
private static Handler serviceHandler; // 用于向客户端Service回传消息的handler

public BlueToothClient(Handler handler) {
this.serviceHandler = handler;
}

@SuppressLint(“NewApi“)
public void run()
{
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if(mBluetoothAdapter == null)//判断设备是否有蓝牙
{
            return;
}
if(!mBluetoothAdapter.isEnabled())//判断蓝牙是否打开
{
// 蓝牙设备没打开
           serviceHandler.obtainMessage(BluetoothTools.Bluetooth_Closed)
.sendToTarget();
}
// mBluetoothAdapter.startDiscovery();
//
Set devices 
= mBluetoothAdapter.getBondedDevices();
        if(devices.size()>0)
        {
         for(Iterator iterator = devices.iterator(); iterator.hasNext();)
         {
         BluetoothDevice bbDevice = (BluetoothDevice)iterator.next();
         address = bbDevice.getAddress();
         }
        }
try {
              mmDevice = mBluetoothAdapter.getRemoteDevice(address);
                  //btSocket = mmDevice.createRfcommSocketToServiceRecord(MY_UUID);
                  M = mmDevice.getClass().getMethod(“createRfcommSocket“ new Class[]{int.class});
                  btSocket = (BluetoothSocket)M.invoke(mmDevice 1);

         } catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
         mBluetoothAdapter.cancelDiscovery();
         try 
         {
             btSocket.connect();
             instream = btSocket.getInputStream();
             outstream = btSocket.getOutputStream();
             
          // 发送连接成功消息,消息的obj参数为连接的

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5642  2014-05-21 09:12  BlueToothClient.java

----------- ---------  ---------- -----  ----

                 5642                    1


评论

共有 条评论