我正在开发音乐播放器应用。当我上车并启动汽车时,汽车会自动通过Bluetooth
连接,但是,ofc不会启动任何媒体播放。
我现在想做的是,如果有任何设备刚刚通过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
肯定有效,因此这里肯定还有另一个问题。
这里有经验的人吗? 谢谢:)