当前位置: 首页 > 知识库问答 >
问题:

Android蓝牙服务发现在两个不同的设备上产生不同的结果--它是Android版本吗?

商正诚
2023-03-14
private final BroadcastReceiver ServiceReceiver = new BroadcastReceiver()
{
    public void onReceive(Context context, Intent intent) 
    {
        String action = intent.getAction();
        if ( BluetoothDevice.ACTION_UUID.equals(action) )
        {
            BluetoothDevice device = intent.getParcelableExtra("android.bluetooth.device.extra.DEVICE");
            Parcelable[] uuidExtra = intent.getParcelableArrayExtra("android.bluetooth.device.extra.UUID");

            for( int i = 0; i < uuidExtra.length; i++ )
            {
               Toast.makeText( this, device.getName() + ": " + uuidExtra[i].toString(), Toast.LENGTH_LONG).show();
            }
        }
    }

共有1个答案

暴英达
2023-03-14

约翰

这似乎是Android版本的问题。我使用htc desire(Android2.3)和联想平板电脑(Android4.2.2)得到了完全相同的结果,前者使用的代码与您的代码相似,后者无论我做什么都无法连接。从阅读这里的一百万篇帖子中,我发现:

1)确保在尝试连接之前取消适配器上的发现2)尝试使用反射,有些人声称这对他们有效3)所以尝试类似的方法

Method m = device.getClass().getMethod("createInsecureRfcommSocket", new Class[] {int.class});
socket = (BluetoothSocket) m.invoke(device, 1);
bluetoothAdapter.cancelDiscovery();
socket.connect();
 类似资料:
  • 我正在编写一个Android应用程序,它应该可以通过蓝牙发现设备。 我没有得到任何例外,但设备只是没有找到,即使我的windows pc找到他们(并可以找到自己)。 我肯定他们是好的,但我两种方法都试过了。当然我也分别试过了。 下面是我的ListActivity,它搜索设备: 日志显示扫描后MLEDeviceListAdapter:0和扫描后isEmpty():true。 则从不调用该日志(onS

  • 我目前正在开发一个小应用程序,以开始使用蓝牙Android应用编程接口可以提供的服务。 编辑- 问题似乎是由特定的Nexus 5设备造成的。他们的蓝牙接收器好像不太好用。以下解决方案适用于其他设备 备注: > 我已经完成了几乎所有我感兴趣的功能(例如检查适配器是否存在,启用/禁用蓝牙,查询成对的部分,设置适配器可发现)。 问题: 实际上,当我启动. onDiscovery()方法时,没有找到设备,

  • 我正在开发一个蓝牙4.0低能耗应用程序来快速扫描周围的广告专用设备(每秒10次或更多),并用RSSI获取他们的地址。根据Android蓝牙应用编程接口,发现是异步的,大约需要12秒。有什么办法可以设置这个时间吗?或者可以使用HCI或蓝牙堆栈直接与设备通信?

  • 我正在尝试通过蓝牙打印到热敏打印机。 我以前能够在Nexus 7设备(第一代和第二代)上成功打印。然而,当我将完全相同的代码复制粘贴到不同的应用程序上,并将其部署到华硕平板电脑上时,我突然得到一个,告诉我我的套接字可能已关闭。 这是我的代码: 这里是来自try-cat块的错误: 现在我很困惑,为什么当我所做的只是将代码部署到不同的设备上时会突然出现错误。 我该如何进行?

  • 有没有办法在Android上ping蓝牙设备?Android中没有连接或配对蓝牙设备,但我事先知道设备的MAC地址和PIN。我试图实现的是ping一个MAC地址列表,看看是否有任何设备在范围内。

  • 问题内容: 我一直在遵循Android蓝牙通讯指南 为确切说明我要做什么,将两个设备配对后,每个设备(服务器和客户端)上都会打开两个不同的活动,其中服务器活动上我有不同的按钮,而客户端活动上只有一个textview。我希望能够按服务器设备上的按钮并将其显示在客户端上。 我设法在两个设备之间建立了连接,但现在我想发送无法执行的数据。 他们给出了以下代码进行数据传输: 但是这行会产生错误 并且在指南中