Android: получите, если какое-либо устройство только что подключилось к телефону через Bluetooth - PullRequest
0 голосов
/ 27 ноября 2018

Я работаю над приложением музыкального плеера.Когда я захожу в машину и запускаю ее, машина автоматически подключается через Bluetooth, но, разумеется, она не запускает воспроизведение мультимедиа.

Теперь я хочу пойматьв моем приложении, если какое-либо устройство просто подключилось к моему телефону через Bluetooth, чтобы начать воспроизведение музыки.Я имею в виду:

1.) Липкая служба (которая всегда включена)

2.) Приемник вещания (для обработки входящих намерений)

Но я не могу показатьсянайти любой BroadcastReceiver, который срабатывает, как только «любое устройство ПРОСТО подключено через Bluetooth».

Это то, что я пытался для BroadcastReceiver (еще не в службе)

[BroadcastReceiver]
public class BecomingNoisyReceiver : BroadcastReceiver
{
     public override void OnReceive(Context context, Intent intent)
     {
        //tests
        if (BluetoothA2dp.ActionConnectionStateChanged.Equals(intent.Action))
        {
            Activity_Player.Instance.PlayOrPauseLogic();
            Toast.MakeText(context, "0", ToastLength.Short).Show();
        }

        if (BluetoothA2dp.ActionPlayingStateChanged.Equals(intent.Action))
        {
            Activity_Player.Instance.PlayOrPauseLogic();
            Toast.MakeText(context, "1", ToastLength.Short).Show();
        }

        if (BluetoothAdapter.ActionConnectionStateChanged.Equals(intent.Action))
        {
            Activity_Player.Instance.PlayOrPauseLogic();
            Toast.MakeText(context, "2", ToastLength.Short).Show();
        }

        if (BluetoothAdapter.ActionDiscoveryFinished.Equals(intent.Action))
        {
            Activity_Player.Instance.PlayOrPauseLogic();
            Toast.MakeText(context, "3", ToastLength.Short).Show();
        }

        if (BluetoothAdapter.ActionStateChanged.Equals(intent.Action))
        {
            Activity_Player.Instance.PlayOrPauseLogic();
            Toast.MakeText(context, "4", ToastLength.Short).Show();
        }

        if (BluetoothDevice.ActionFound.Equals(intent.Action))
        {        
            Activity_Player.Instance.PlayOrPauseLogic();
            Toast.MakeText(context, "5", ToastLength.Short).Show();
        }

        if (BluetoothDevice.ActionPairingRequest.Equals(intent.Action))
        {
            Activity_Player.Instance.PlayOrPauseLogic();
            Toast.MakeText(context, "6", ToastLength.Short).Show();
        }

        if (BluetoothDevice.ActionAclConnected.Equals(intent.Action))
        {
            Activity_Player.Instance.PlayOrPauseLogic();
            Toast.MakeText(context, "7", ToastLength.Short).Show();
        }


    }
}

Вы видите, что я установил тосты, чтобы увидеть, какое из намерений срабатывает, когда моя машина подключается к моему телефону.К сожалению, никто не сделал.Однако я знаю, что BroadcastReceiver определенно работает, поэтому здесь должна быть еще одна проблема.

У кого-нибудь есть опыт здесь?Спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...