Skip to content

fix: Android 12+ foreground service & SplashScreen adaptation#726

Open
Gong-Mi wants to merge 1 commit intoMetaCubeX:mainfrom
Gong-Mi:android-12-adapt
Open

fix: Android 12+ foreground service & SplashScreen adaptation#726
Gong-Mi wants to merge 1 commit intoMetaCubeX:mainfrom
Gong-Mi:android-12-adapt

Conversation

@Gong-Mi
Copy link
Copy Markdown

@Gong-Mi Gong-Mi commented May 7, 2026

Changes

  • ProfileReceiver: Fix ForegroundServiceStartNotAllowedException on Android 12+ when AlarmManager triggers background profile updates. Falls back to direct background update via coroutine.
  • SplashScreen: Add values-v31/themes.xml to adapt Android 12 mandatory SplashScreen API.
  • Logs: Add READ_LOGS permission for crash log collection on rooted/debug devices.

Why

  • Android 12 (API 31) forbids starting foreground services from background via AlarmManager-triggered custom broadcasts.
  • Android 12+ forces SplashScreen for all apps with targetSdk >= 31; without adaptation, system generates a default stretched icon.
  • SystemLogcat.dumpCrash() executes logcat -d without READ_LOGS, resulting in empty crash logs on Android 12+.

Note

This PR only touches the Android framework layer; the Go core is untouched.

- ProfileReceiver: 修复 AlarmManager 触发自定义广播在 Android 12+ 无法启动前台服务的问题,添加后台降级处理
- SplashScreen: 添加 values-v31 主题适配 Android 12 强制 SplashScreen
- 日志权限: 在 manifest 中添加 READ_LOGS 权限以支持崩溃日志收集
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant