簡體   English   中英

如何在另一個方法中調用onReceive方法?

[英]How to call onReceive method in another method?

目前,我開發了一種發現藍牙就緒連接的新方法。 這是我的代碼:

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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM