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

在Android中ping蓝牙设备

沃威
2023-03-14

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

共有1个答案

通令
2023-03-14

解决:我所做的是查询设备上可用的服务(可用的UUID)。如果接收到UUID,则设备在范围内。

因此,步骤是:

>

  • 为UUID动作注册一个收到的广播

    String action = "android.bluetooth.device.action.UUID";
    IntentFilter filter = new IntentFilter(action);
    registerReceiver(mReceiver, filter);
    

    基于远程地址创建蓝牙设备并获取其UUID

    BluetoothDevice bd = bluetoothAdapter.getRemoteDevice(address);
    bd.fetchUuidsWithSdp(); 
    

    创建一个广播接收器,其中包含设备地址,能够告诉我

    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        public void onReceive(Context context, Intent intent) {
           //deviceExtra is our in range device
           deviceExtra  = 
           intent.getParcelableExtra("android.bluetooth.device.extra.DEVICE");
           Parcelable[] uuidExtra = 
           intent.getParcelableArrayExtra("android.bluetooth.device.extra.UUID");
    }}};
    

  •  类似资料:
    • 问题内容: 我正在创建一个应通过蓝牙连接到特定设备的应用程序。 无论设备是否已配对,我都希望我的应用程序与此设备连接。 现在我有这个 但是此功能仅连接到配对的设备。如果我的设备尚未配对,我想将其配对。不知道该怎么做。 有人可以给我任何建议吗? 问题答案: 首次请求权限。 然后使您的设备可发现: 然后创建一个 BroadcastReceiver 来监听系统中的动作: 并通过注册以下 Boardcas

    • 我如何获得Android所有已连接蓝牙设备的列表,而不考虑配置文件? 或者,我看到您可以通过BluetoothManager获取特定配置文件的所有连接设备。获取连接的设备。 我想我可以通过ACTION_ACL_CONNECTED/ACTION_ACL_DISCONNECTED监听连接/断开来查看哪些设备连接...似乎容易出错。 但我想知道是否有更简单的方法来获取所有已连接蓝牙设备的列表。

    • 问题内容: 如何在使用Java的android中显示蓝牙设备名称?有什么代码可供我参考吗? 问题答案: 下面的代码将为您提供蓝牙名称,类型为。

    • 问题内容: 我知道有可能获得此问题的解决方案中所述的本地设备名称显示Android蓝牙设备名称 我想知道的是,我可以通过编程方式更改本地蓝牙名称(当我处于发现模式时,另一台设备会看到)。我知道您可以手动更改它,但是我正在编写应用程序,并且我希望能够更改名称(添加一个简单的标志),以便具有相同应用程序的其他设备可以扫描并立即知道手机是否还在运行该应用程序。 tl; dr:如何更改android上的蓝

    • 我想连接第三方蓝牙设备到我的Android Wear手表(三星Gear Live)。我试图找到留档如何做到这一点,但我没有任何运气。所有的搜索,我似乎都认为我想连接到手机上。 有谁知道一个很好的例子来演示如何将蓝牙心率监视器(或其他设备)连接到Android Wear,以便我在手机不存在时保存历史记录?这可能吗?它是否与从手机/平板电脑上执行相同的协议?

    • 我正在编写一个Android应用程序,它应该可以通过蓝牙发现设备。 我没有得到任何例外,但设备只是没有找到,即使我的windows pc找到他们(并可以找到自己)。 我肯定他们是好的,但我两种方法都试过了。当然我也分别试过了。 下面是我的ListActivity,它搜索设备: 日志显示扫描后MLEDeviceListAdapter:0和扫描后isEmpty():true。 则从不调用该日志(onS