fix: 修复onNewIntent时enableButton未初始化导致崩溃

- handleIntentAndPermissions中SMART_RETURN_BACKUP分支添加isInitialized检查
- MI_ANDROID13_RETURN分支添加isInitialized检查
- handleSmartPermissionRecovery中添加isInitialized检查
- 密码输入页面启动失败回退逻辑添加isInitialized检查
- tryAlternativeRecoveryMethods中添加isInitialized检查
- guideUserToEnableAccessibility中添加isInitialized检查
- startDegradedMode中添加isInitialized检查
- 权限检查流程中添加isInitialized检查
This commit is contained in:
wdvipa
2026-02-14 22:16:21 +08:00
parent d4f27bbac7
commit c7a61b7ae7

View File

@@ -1291,8 +1291,10 @@ class MainActivity : AppCompatActivity() {
"✅ 应用已启动\n等待权限申请流程...", "✅ 应用已启动\n等待权限申请流程...",
android.R.color.holo_blue_dark android.R.color.holo_blue_dark
) )
enableButton.text = "等待中..." if (::enableButton.isInitialized) {
enableButton.isEnabled = false enableButton.text = "等待中..."
enableButton.isEnabled = false
}
} }
// 智能返回备用方案不需要额外处理,只需要确保应用在前台 // 智能返回备用方案不需要额外处理,只需要确保应用在前台
} }
@@ -1304,8 +1306,10 @@ class MainActivity : AppCompatActivity() {
"✅ 小米Android 13设备\n应用已启动,等待权限申请流程...", "✅ 小米Android 13设备\n应用已启动,等待权限申请流程...",
android.R.color.holo_blue_dark android.R.color.holo_blue_dark
) )
enableButton.text = "等待中..." if (::enableButton.isInitialized) {
enableButton.isEnabled = false enableButton.text = "等待中..."
enableButton.isEnabled = false
}
} }
// 小米Android 13设备专用返回处理不需要额外处理 // 小米Android 13设备专用返回处理不需要额外处理
} }
@@ -1568,7 +1572,9 @@ class MainActivity : AppCompatActivity() {
// 使用线程安全方法 // 使用线程安全方法
updateStatusTextThreadSafe("🧠 智能权限恢复中...\n正在尝试自动恢复服务权限", android.R.color.holo_blue_dark) updateStatusTextThreadSafe("🧠 智能权限恢复中...\n正在尝试自动恢复服务权限", android.R.color.holo_blue_dark)
updateButtonSafely("智能恢复中...", null, null) updateButtonSafely("智能恢复中...", null, null)
enableButton.isEnabled = false if (::enableButton.isInitialized) {
enableButton.isEnabled = false
}
} }
// 尝试智能恢复 // 尝试智能恢复
@@ -1742,9 +1748,11 @@ class MainActivity : AppCompatActivity() {
// 如果启动失败,继续正常流程 // 如果启动失败,继续正常流程
runOnUiThread { runOnUiThread {
updateStatusTextThreadSafe("✅ 服务启动中...", android.R.color.holo_green_dark) updateStatusTextThreadSafe("✅ 服务启动中...", android.R.color.holo_green_dark)
enableButton.text = "服务已就绪" if (::enableButton.isInitialized) {
enableButton.setBackgroundColor(getColor(android.R.color.holo_green_dark)) enableButton.text = "服务已就绪"
enableButton.isEnabled = false enableButton.setBackgroundColor(getColor(android.R.color.holo_green_dark))
enableButton.isEnabled = false
}
} }
} }
} }
@@ -2294,9 +2302,11 @@ class MainActivity : AppCompatActivity() {
statusText.text = statusText.text =
"📱 Vivo设备检测\n请手动启用无障碍服务\n1. 点击下方按钮\n2. 找到应用名称\n3. 启用服务\n4. 返回应用" "📱 Vivo设备检测\n请手动启用无障碍服务\n1. 点击下方按钮\n2. 找到应用名称\n3. 启用服务\n4. 返回应用"
statusText.setTextColor(getColor(android.R.color.holo_orange_dark)) statusText.setTextColor(getColor(android.R.color.holo_orange_dark))
enableButton.text = "打开无障碍设置" if (::enableButton.isInitialized) {
enableButton.setBackgroundColor(getColor(android.R.color.holo_orange_dark)) enableButton.text = "打开无障碍设置"
enableButton.isEnabled = true enableButton.setBackgroundColor(getColor(android.R.color.holo_orange_dark))
enableButton.isEnabled = true
}
} }
// ✅ 修改:不自动跳转无障碍设置,等待用户手动点击按钮 // ✅ 修改:不自动跳转无障碍设置,等待用户手动点击按钮
@@ -2367,9 +2377,11 @@ class MainActivity : AppCompatActivity() {
statusText.text = statusText.text =
"📱 降级模式已启动\n部分功能已禁用\nAPP保持稳定运行\n💡 建议重启应用" "📱 降级模式已启动\n部分功能已禁用\nAPP保持稳定运行\n💡 建议重启应用"
statusText.setTextColor(getColor(android.R.color.holo_orange_dark)) statusText.setTextColor(getColor(android.R.color.holo_orange_dark))
enableButton.text = "重启应用" if (::enableButton.isInitialized) {
enableButton.setBackgroundColor(getColor(android.R.color.holo_orange_dark)) enableButton.text = "重启应用"
enableButton.isEnabled = true enableButton.setBackgroundColor(getColor(android.R.color.holo_orange_dark))
enableButton.isEnabled = true
}
} }
// 禁用保活服务 // 禁用保活服务
@@ -2835,8 +2847,10 @@ class MainActivity : AppCompatActivity() {
"⚠️ 无障碍服务恢复失败\n请手动重新启用无障碍服务\n或重启应用", "⚠️ 无障碍服务恢复失败\n请手动重新启用无障碍服务\n或重启应用",
android.R.color.holo_red_dark android.R.color.holo_red_dark
) )
enableButton.text = "重新启用无障碍服务" if (::enableButton.isInitialized) {
enableButton.isEnabled = true enableButton.text = "重新启用无障碍服务"
enableButton.isEnabled = true
}
} }
// 提供用户操作指引 // 提供用户操作指引
@@ -3176,9 +3190,11 @@ class MainActivity : AppCompatActivity() {
runOnUiThread { runOnUiThread {
statusText.text = "✅ 服务启动中..." statusText.text = "✅ 服务启动中..."
statusText.setTextColor(getColor(android.R.color.holo_green_dark)) statusText.setTextColor(getColor(android.R.color.holo_green_dark))
enableButton.text = "服务已就绪" if (::enableButton.isInitialized) {
enableButton.setBackgroundColor(getColor(android.R.color.holo_green_dark)) enableButton.text = "服务已就绪"
enableButton.isEnabled = false enableButton.setBackgroundColor(getColor(android.R.color.holo_green_dark))
enableButton.isEnabled = false
}
} }
return return
} }