fix: 修复启动时三个应用层报错问题
- MediaProjectionManager初始化提前到onCreate开头,避免多个return路径跳过初始化导致后续null - InputController剪贴板访问添加SecurityException防护,非前台时安全降级而非崩溃 - HuaweiAuthorizationHandler剪贴板访问添加异常捕获,防止ClipboardService拒绝访问 - SocketIO连接错误区分瞬态错误(xhr poll/timeout)和持久错误,瞬态错误降级为WARN - SocketIO connect方法添加URL格式验证和空值检查
This commit is contained in:
@@ -958,14 +958,22 @@ class HuaweiAuthorizationHandler(
|
||||
* 尝试输入搜索文本(使用剪贴板粘贴)
|
||||
*/
|
||||
private fun tryInputSearchText(searchText: String = "悬浮窗"): Boolean {
|
||||
Log.d(TAG, "🔍 尝试通过剪贴板粘贴搜索文本")
|
||||
Log.d(TAG, "尝试通过剪贴板粘贴搜索文本")
|
||||
|
||||
try {
|
||||
// 1. 将"悬浮窗"复制到剪贴板
|
||||
// 1. Safe clipboard write - may fail if app is not in foreground
|
||||
val clipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as android.content.ClipboardManager
|
||||
val clipData = android.content.ClipData.newPlainText("search_text", searchText)
|
||||
clipboardManager.setPrimaryClip(clipData)
|
||||
Log.d(TAG, "✅ 已将'${searchText}'复制到剪贴板")
|
||||
try {
|
||||
clipboardManager.setPrimaryClip(clipData)
|
||||
Log.d(TAG, "已将'${searchText}'复制到剪贴板")
|
||||
} catch (e: SecurityException) {
|
||||
Log.w(TAG, "剪贴板访问被拒绝(非前台应用): ${e.message}")
|
||||
return false
|
||||
} catch (e: Exception) {
|
||||
Log.w(TAG, "剪贴板操作失败: ${e.message}")
|
||||
return false
|
||||
}
|
||||
|
||||
// 2. 等待一下确保剪贴板操作完成
|
||||
|
||||
|
||||
Reference in New Issue
Block a user