您好,这听起来像是一个愚蠢的问题。但是我无法找到任何答案,因此在此发布。

我正在构建一个室内应用程序,该应用程序可以连续扫描位于购物中心或图书馆等不同位置的蓝牙加密狗。当我手持Android手机在购物中心中移动时,我应该能够获得可以连接的最近的加密狗to(愚蠢的主意,但我想对此做点别的事情。)为此,我应该能够连续扫描蓝牙设备。

请有人告诉我如何使android定期扫描可用的蓝牙设备。

最佳答案

我想这很简单,但以前没打过我。这是答案,

private BluetoothAdapter mBtAdapter;
mBtAdapter.startDiscovery();

private final BroadcastReceiver mReceiver = new BroadcastReceiver()
{
        @Override
        public void onReceive(Context context, Intent intent)
        {
            String action = intent.getAction();

            // When discovery finds a device
            if (BluetoothDevice.ACTION_FOUND.equals(action))
            {
            //do something
            }

            else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action))
            {
                Log.v(TAG,"Entered the Finished ");
                mBtAdapter.startDiscovery();
            }

因此,我们应该再次在ACTION_DISCOVERY_FINISHED上开始发现,它会每12秒连续扫描一次设备。

关于android - 如何在Android上定期扫描蓝牙设备,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3285580/

10-12 00:24
查看更多