Приемник вещания не работает при поиске по Bluetooth - PullRequest
0 голосов
/ 05 января 2019

Я хочу получить список всех включенных Bluetooth-устройств рядом с моим мобильным телефоном, используя широковещательный приемник, registerReceiver(mReceiver, filter) вызывается, но onReceive не вызывается и ничего не происходит.

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

public class MainActivity extends AppCompatActivity {

private ListView listView;
private ArrayList<String> mDeviceList = new ArrayList();
private BluetoothAdapter mBluetoothAdapter;


public static final int MULTIPLE_PERMISSIONS = 10;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    listView = (ListView) findViewById(R.id.listView);
    getAllBluetoothDevices();
}

@Override
protected void onDestroy() {
    unregisterReceiver(mReceiver);
    super.onDestroy();
}

public final BroadcastReceiver mReceiver = new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (BluetoothDevice.ACTION_FOUND.equals(action)) {
            BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
            mDeviceList.add(device.getName() + "\n" + device.getAddress());
            Log.e("BT", device.getName() + "\n" + device.getAddress());
            listView.setAdapter(new ArrayAdapter<String>(context,
                    android.R.layout.simple_list_item_1, mDeviceList));
        }
    }
};

   /*Discover Devices*/
private void getAllBluetoothDevices() {

    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    mBluetoothAdapter.startDiscovery();

    IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
    registerReceiver(mReceiver, filter);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...