CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
蓝牙设备的检测
需要在 CriAtomOutputDeviceObserver 检测音频输出设备的切换时,必须先获取蓝牙的启用权限。
请连同以下步骤进行项目的设置,在应用程序上进行权限获取处理。
否则,将无法检测到蓝牙设备的切换。

Android.manifest的设置

在应用程序的Android.manifest中声明权限。
请注意,必须根据安卓版本切换权限声明。
<manifest>
<uses-permission android:name="android.permission.BLUETOOTH"
android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
</manifest>

执行时的权限获取

在API Level 31或更高版本,执行应用程序时,必须请求用户授权才能获取蓝牙相关权限。
请在启动后,使用以下处理进行权限确认和提出请求。
#if !UNITY_EDITOR && UNITY_ANDROID
using UnityEngine.Android;
#endif
// 省略
#if !UNITY_EDITOR && UNITY_ANDROID
private static void RequestBluetoothPermission()
{
var sdkVersion = GetAndroidSdkVersion();
if (sdkVersion >= 31)
{
if (!Permission.HasUserAuthorizedPermission("android.permission.BLUETOOTH_CONNECT"))
{
Permission.RequestUserPermission("android.permission.BLUETOOTH_CONNECT");
}
}
}
private static int GetAndroidSdkVersion()
{
using (var version = new AndroidJavaClass("android.os.Build$VERSION"))
{
return version.GetStatic<int>("SDK_INT");
}
}
#endif