C# 蓝牙插座的连接时间更长

C# 蓝牙插座的连接时间更长,c#,android,sockets,bluetooth,xamarin.android,C#,Android,Sockets,Bluetooth,Xamarin.android,根据我对套接字的有限了解,我为xamarin.android编写了以下代码: Task.Run(async () => { while (true) { socket = pairedBTDevice.CreateRfcommSocketToServiceRecord(UUID.FromString(uuid)); socket.ConnectAsync(); Thre

根据我对套接字的有限了解,我为xamarin.android编写了以下代码:

    Task.Run(async () =>
    {
        while (true)
        {

            socket = pairedBTDevice.CreateRfcommSocketToServiceRecord(UUID.FromString(uuid));
            socket.ConnectAsync();
            Thread.Sleep(1000);
            if (socket.IsConnected)
            {
                activity.ShowToast("Bluetooth connected");
                await OnDataReceived();
            }
            socket.Close();
        }

    });

它大部分时间都按预期工作。但有时在我重新启动插座后,需要大约9秒钟才能连接。当我关闭应用程序并立即打开它时,就会发生这种情况。有人知道发生这种情况的原因吗?

当你关闭应用程序时,你是否也关闭了套接字连接?是的,我在MainActivity类的OnDestroy()方法中关闭streamreader和套接字。