首页 > 程序开发 > 移动开发 > Android >

实现蓝牙vs安卓开发

2012-05-08

android实现蓝牙开发的资料不是很多,在安卓开发中,如何实现蓝牙通信呢?一般的方法是通过蓝牙的虚拟串口,然后经过一系列的配置完成简单的实现,外置蓝牙的通讯也是用这种方法来做的!但是我们在进行android开...

android实现蓝牙开发的资料不是很多,在安卓开发中,如何实现蓝牙通信呢?一般的方法是通过蓝牙的虚拟串口,然后经过一系列的配置完成简单的实现,外置蓝牙的通讯也是用这种方法来做的!但是我们在进行android开发的时候这种方法是不支持的,所以我就来演示一下关于蓝牙安卓软件开用发第三方.NET组件(inthehand)来将其实现。

接下来我们初始化核心代码,作为客户端的pc机它需要通过手机蓝牙MAC地址实现通信!
/// <summary>
/// 打开端口
/// </summary>
/// <param name="Name">端口名称</param>
/// <returns>成功否</returns>
public bool OpenPort(string Name)
{

InTheHand.Net.Bluetooth.BluetoothRadio.PrimaryRadio.Mode = InTheHand.Net.Bluetooth.RadioMode.Connectable;
InTheHand.Net.Sockets.BluetoothClient cli = new InTheHand.Net.Sockets.BluetoothClient();
InTheHand.Net.Sockets.BluetoothDeviceInfo[] devices = cli.DiscoverDevices();
foreach (InTheHand.Net.Sockets.BluetoothDeviceInfo device in devices)//设备搜寻
{
device.Update();
device.Refresh();
MessageBox.Show("设备已找到");
break;
}




BluetoothDeviceInfo bd = new BluetoothDeviceInfo(devices[0].DeviceAddress);
bluetoothClient = new BluetoothClient();


Guid mGUID = Guid.Parse("fa87c0d0-afac-11de-8a39-0800200c9a66");
bluetoothClient.Connect(devices[0].DeviceAddress, mGUID);//客户端对地址实现连接,这是一个阻塞线程,需要服务器端的回应 www.2cto.com

ReceiveThread = new Thread(ReceiveMethod);
ReceiveThread.Start();



return true;
}
接下来用手机接受pc的链接请求:
if (connected)
{
return;
}
try
{
mBThServer = myBluetoothAdapter
.listenUsingRfcommWithServiceRecord(NAME_SECURE,
MY_UUID_SECURE);
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

try
{
mBTHSocket = mBThServer.accept();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
try
{
mBufferedReader = new BufferedReader(new InputStreamReader(
mBTHSocket.getInputStream()));
} catch (IOException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}// 取得输入、输出流
try
{
mPrintStream = new PrintStream(
mBTHSocket.getOutputStream(), true);
connected = true;
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
通过手机来发送数据:

接下来是pc端的接受代码:

到这里代码基本完成,但是我们需要注意的是:
我们一定要注意库函数的版本,版本不对是一件很麻烦的事情。
手机中的蓝牙设备也一定要打开。
好了就到这里!!!



摘自 迷途羊
相关文章
最新文章
热点推荐