fix: 修复蓝牙扫描、自动锁屏和绑定失败的问题

1. 蓝牙扫描时改用ForceInitialize保证系统蓝牙关闭时能提示开启
2. 移除重复的ForceInitialize调用并避免重复初始化导致iOS扫描失效
3. 进入应用时设置不休眠并修正解锁计时起点为当前时间
4. 绑定失败时清空目标MAC防止无限重试循环
5. 调整个人信息页预制体的控件顺序
This commit is contained in:
“虞渠成” 2026-09-22 11:25:21 +08:00
parent 52e20d10c0
commit 61cbbf80a6
4 changed files with 12 additions and 309 deletions

View File

@ -405,10 +405,9 @@ RectTransform:
- {fileID: 3208093675459988445}
- {fileID: 2804317011649488167}
- {fileID: 6062647938688273390}
- {fileID: 1667034045599266742}
- {fileID: 7146889589913556336}
- {fileID: 1035419108335367957}
- {fileID: 6032238728068850519}
- {fileID: 1667034045599266742}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@ -3670,6 +3669,7 @@ PrefabInstance:
- {fileID: 5423054187022209742, guid: d9dcb18ed4ca0f741a416854a791047e, type: 3}
- {fileID: 9156379378820123957, guid: d9dcb18ed4ca0f741a416854a791047e, type: 3}
- {fileID: 3894957977895714727, guid: d9dcb18ed4ca0f741a416854a791047e, type: 3}
- {fileID: 8248368160412950350, guid: d9dcb18ed4ca0f741a416854a791047e, type: 3}
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d9dcb18ed4ca0f741a416854a791047e, type: 3}
@ -3997,307 +3997,3 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: ce7f9a66c3b832343bd86c4b491d90c8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &8438205999760478775
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 6157072509248269050}
m_Modifications:
- target: {fileID: 184803144727737283, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 184803144727737283, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 184803144727737283, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_SizeDelta.x
value: 630
objectReference: {fileID: 0}
- target: {fileID: 184803144727737283, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 345
objectReference: {fileID: 0}
- target: {fileID: 184803144727737283, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -201.5
objectReference: {fileID: 0}
- target: {fileID: 886015656204995988, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 886015656204995988, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 886015656204995988, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_SizeDelta.x
value: 630
objectReference: {fileID: 0}
- target: {fileID: 886015656204995988, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 345
objectReference: {fileID: 0}
- target: {fileID: 886015656204995988, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -50
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2851268200846277789, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2851268200846277789, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2851268200846277789, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_SizeDelta.x
value: 630
objectReference: {fileID: 0}
- target: {fileID: 2851268200846277789, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 345
objectReference: {fileID: 0}
- target: {fileID: 2851268200846277789, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -353
objectReference: {fileID: 0}
- target: {fileID: 3289844309708103056, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3289844309708103056, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3289844309708103056, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_SizeDelta.x
value: 630
objectReference: {fileID: 0}
- target: {fileID: 3289844309708103056, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 345
objectReference: {fileID: 0}
- target: {fileID: 3289844309708103056, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -302.5
objectReference: {fileID: 0}
- target: {fileID: 4107443752149291401, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4107443752149291401, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4107443752149291401, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_SizeDelta.x
value: 630
objectReference: {fileID: 0}
- target: {fileID: 4107443752149291401, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 345
objectReference: {fileID: 0}
- target: {fileID: 4107443752149291401, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -100.5
objectReference: {fileID: 0}
- target: {fileID: 5030859281969820890, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5030859281969820890, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5030859281969820890, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_SizeDelta.x
value: 630
objectReference: {fileID: 0}
- target: {fileID: 5030859281969820890, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 345
objectReference: {fileID: 0}
- target: {fileID: 5030859281969820890, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -151
objectReference: {fileID: 0}
- target: {fileID: 6774584937554793577, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6774584937554793577, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6774584937554793577, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_SizeDelta.x
value: 630
objectReference: {fileID: 0}
- target: {fileID: 6774584937554793577, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 345
objectReference: {fileID: 0}
- target: {fileID: 6774584937554793577, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -252
objectReference: {fileID: 0}
- target: {fileID: 8420805150731623820, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_Name
value: "\u4E2A\u4EBA\u4FE1\u606F\u9875"
objectReference: {fileID: 0}
- target: {fileID: 8420805150731623820, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d9dcb18ed4ca0f741a416854a791047e, type: 3}
--- !u!224 &6032238728068850519 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2786697444026413408, guid: d9dcb18ed4ca0f741a416854a791047e,
type: 3}
m_PrefabInstance: {fileID: 8438205999760478775}
m_PrefabAsset: {fileID: 0}

View File

@ -712,7 +712,8 @@ namespace Kill.Bluetooth
Log("蓝牙未初始化,自动触发初始化流程...");
_pendingStartScan = true;
_pendingScanTimeout = timeout;
Initialize();
// 主动发起的扫描走 ForceInitialize蓝牙被系统关闭时仍会给出开启提示
ForceInitialize();
return;
}

View File

@ -31,6 +31,8 @@ namespace Kill.Managers
InitUser();
GetSelectedDeviceMac();
LoadLockSettings();
// 应用内不自动息屏
Screen.sleepTimeout = SleepTimeout.NeverSleep;
}
public string token = "";
public UserInfo userInfo = new UserInfo();
@ -149,7 +151,8 @@ namespace Kill.Managers
/// <summary>进入app时调用重置解锁时间并读取当前账号的自动锁定时间配置</summary>
public void LoadLockSettings()
{
lastUnlockTime = 0;
// 进入app时记录当前时间作为上锁计时起点实现首次进入自动上锁
lastUnlockTime = Time.realtimeSinceStartup;
string userId = userInfo?.id ?? "";
lockTime = PlayerPrefs.GetInt(LOCK_TIME_KEY + "_" + userId, DEFAULT_LOCK_TIME);
}

View File

@ -387,7 +387,8 @@ public class ConnectDevicePageCtrl : MonoBehaviour
}
deviceObjects = new List<GameObject>();
// 用户进入配网页面,强制初始化以触发蓝牙开启提示
BluetoothManager.Instance.ForceInitialize();
// 注意:不能同时调用 ForceInitialize 和 StartScan——StartScan 在未初始化时会再次触发
// Initialize导致 iOS 上并发 DoInitialize扫描回调失效而扫不到设备。交由首次扫描统一处理。
BluetoothManager.Instance.StartScan(999f); // 扫描999秒
}
}
@ -797,6 +798,8 @@ public class ConnectDevicePageCtrl : MonoBehaviour
onError: (code,message) =>
{
Debug.Log($"绑定设备失败:{code},{message}");
// 绑定失败清除目标MAC避免断开后自动重扫重连形成无限重试循环
BluetoothManager.Instance.ChangeAimMac("");
if(code==404)
{
errorTip="100331";