java - 如何在另一个方法中调用onReceive方法?

标签 java android bluetooth

目前,我开发了一种新方法来发现蓝牙就绪连接。这是我的代码:

private void DiscoverOBDConnection() {
    BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    mBluetoothAdapter.startDiscovery();
    BroadcastReceiver mReceiver;

    // Create a BroadcastReceiver for ACTION_FOUND
    final List<String> discoverableDevicesList = new ArrayList<String>();

    mReceiver = new BroadcastReceiver() {
        public void onReceive(Context context, Intent intent) {

            String action = intent.getAction();

            // When discovery finds a device
            if (BluetoothDevice.ACTION_FOUND.equals(action)) {
                // Get the BluetoothDevice object from the Intent
                BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                short rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI, Short.MIN_VALUE);
                discoverableDevicesList.add(device.getName() + "\n" + device.getAddress() + "\n" + rssi);

                String discoveredDeviceName = device.getName();
                discoverableDevicesList.add(discoveredDeviceName);
            }
        }
    };

    IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
    context.registerReceiver(mReceiver,filter); // Don't forget to unregister during onDestroy
}

我只是不知道如何从另一个方法调用 onreceive 方法。您能帮我学习如何实现和发现可连接的蓝牙设备吗?

最佳答案

您可以只发送广播

Intent i = new Intent(BluetoothDevice.ACTION_FOUND);
sendBroadcast(i);

或者直接调用

mReceiver.onReceive(this, new Intent(BluetoothDevice.ACTION_FOUND));

关于java - 如何在另一个方法中调用onReceive方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34486020/

相关文章:

java - android从数据库类内部传递变量

android - 许多 "getContext()"或一个私有(private)上下文 = getContext() 并使用它?

ios - 无法将 "Done"按钮添加到 CABTMIDICentralViewController

android - Android 后台任务的流媒体视频播放性能问题

Android 蓝牙连接与蓝牙 rs232 适配器

Java JVMTI 代理在 GetEnv() 上崩溃

java - 在 Java 中执行 'is' 最简单的方法是什么?

java - android tcp客户端文件接收

java - 使用 mockito 模拟父类(super class)方法调用不起作用

Java - 用于扫描仪验证的 while 循环导致输入失败