如何定期扫描在Android的蓝牙设备蓝牙、设备、Android

2023-09-13 02:32:28 作者:假装那是你

你好,这听起来是一个愚蠢的question.But我无法找到任何答案,这一点,因此在这里发帖。

Hi this may sound as a stupid question.But I was unable to find any answers for this, thus posting here.

我建一个室内应用程序,它会不断扫描位于像一个商场或library.As我将在与Android手机在我手里商场一处不同位置的蓝牙适配器,我应该能够得到最近的加密狗其中我可以连接到(愚蠢的想法,但我想做些别的事情与此)。对于这一点,我应该能够为蓝牙设备的连续扫描。

I am building an indoor application which continuously scans the bluetooth dongles located at different locations in a place like a mall or library.As I move in the mall with android phone in my hand I should be able to get the nearest dongle which I can connect to(Stupid Idea but I want to do something else with this).For this I should be able to continuously scan for the bluetooth devices.

请能有人告诉我我该如何让Android定期扫描可用的蓝牙设备。

Please can someone tell me how do I make android scan the available Bluetooth devices periodically.

推荐答案

我想这是如此简单,但没有之前打我。这里是答案,

I guess this was so simple but didnt strike me before. Here is the answer,

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秒。

Thus we should start discovery again on ACTION_DISCOVERY_FINISHED which will continuously scan for devices every 12 seconds.

 
精彩推荐
图片推荐