通过蓝牙UUID连接到android设备时遇到麻烦

通过蓝牙UUID连接到android设备时遇到麻烦,第1张

概述美好的一天,我试图创建一个蓝牙应用程序,但无法连接到另一个Android设备.似乎正在发生的问题是在传出连接createRfcommSocketToServiceRecord(UUID)中-我认为在这两个设备中UUID都不正确.该文件说:ifyouareconnectingtoanAndroidpeerthenpleasegenerateyourownuniqu

美好的一天,我试图创建一个蓝牙应用程序,但无法连接到另一个Android设备.似乎正在发生的问题是在传出连接createRfcommSocketToServiceRecord(UUID)中-我认为在这两个设备中UUID都不正确.该文件说:

if you are connecting to an AndroID peer then please generate your own unique UUID.

我的问题是-如果其他AndroID设备未安装我的应用程序,该如何使用适当的UUID连接到该设备?我已经尝试仅使用通用UUID 00001101-0000-1000-8000-00805F9B34FB,但这似乎无法解决问题.

这是代码示例的一部分:

private static final UUID MY_UUID_SECURE =     UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");private class ConnectThread extends Thread {    BluetoothDevice mdevice;    BluetoothSocket mclIEntSocket;    //private String mSocketType;    private Handler handler;    private ProgressDialog dialog;    public ConnectThread(BluetoothDevice device) {        mdevice = device;        BluetoothSocket temp = null;        try {            System.out.println("making connection to remote device");            temp = mdevice.createRfcommSocketToServiceRecord(MY_UUID_SECURE);        } catch (IOException e) {            e.printstacktrace();        }        Log.i(TAG, "Bluetooth Socket" + temp.toString() + "obtained");        mclIEntSocket = temp;    }    public synchronized voID run() {        try {            Log.i(TAG, "starting to connect");            mclIEntSocket.connect();        } catch (IOException e) {            Log.e(TAG, "connection Failed");            try {                mclIEntSocket.close();            } catch (IOException e2) {                ; // Do nothing.            }        }    }    //public voID cancel() {        //try {            // mclIEntSocket.close();        //} catch (IOException e) {            //Log.e(TAG, "close() of connect " + mSocketType + " socket Failed", e);        //}    //}

注意:我尚未实现Bluetooth Server套接字,而是尝试了解如何连接到未安装我的应用程序的另一个AndroID设备.帮助一如既往地受到赞赏.谢谢.

解决方法:

从:http://developer.android.com/guide/topics/wireless/bluetooth.html

为了在两个设备上的应用程序之间创建连接,您必须同时实现服务器端和客户端机制,因为一个设备必须打开服务器套接字,而另一个设备必须启动连接(使用服务器设备的MAC地址)发起连接).当服务器和客户端在同一RFCOMM通道上均具有已连接的BluetoothSocket时,它们被视为彼此连接.此时,每个设备都可以获取输入和输出流,并且可以开始数据传输,这在关于管理连接的部分中进行了讨论.本节介绍如何启动两个设备之间的连接.

服务器设备和客户端设备分别以不同的方式获得所需的BluetoothSocket.接受传入连接时,服务器将接收它.客户端在打开服务器的RFCOMM通道时将收到它.

总结

以上是内存溢出为你收集整理的通过蓝牙UUID连接到android设备时遇到麻烦全部内容,希望文章能够帮你解决通过蓝牙UUID连接到android设备时遇到麻烦所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1084554.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存