我的 Unity 应用程序需要获取蓝牙名称以区分同一本地网络中的不同手机。这是我用来获取蓝牙名称的代码:
AndroidJavaClass blueToothAdapter = new AndroidJavaClass("android.bluetooth.BluetoothAdapter");
AndroidJavaObject myPhone = blueToothAdapter.CallStatic<AndroidJavaObject>("getDefaultAdapter");
return myPhone.Call<string>("getName");
基本上,它获取默认的蓝牙适配器,然后获取其名称。当测试的手机使用Android 6或7时,它可以工作很长时间。但后来我们购买了一些使用Android 11的新手机,它们开始返回“QCOM-BTD”而不是蓝牙名称。我的问题是,getName()
过时了吗?还是getDefaultAdapter()
新安卓版本的问题?如何更改代码以便它可以在新手机中获取蓝牙名称?