Skip to content

应用被杀死后通过通知栏进入时,MainActivity 继承 AudioServiceActivity 导致神策 SDK 初始化失败(Android) #42

@youdianfan

Description

@youdianfan

Bug 描述

在海外版 Android 手机上,应用进程被杀死后,通过 通知栏点击 push 消息进入应用 时,神策 SDK 初始化失败。

经过测试发现,这个问题与 MainActivity 的基类有关:

  • 如果 MainActivity.kt 继承 FlutterActivity,神策 SDK 初始化正常。
  • 如果 MainActivity.kt 继承 AudioServiceActivityaudio_service 插件推荐做法),神策 SDK 初始化失败。

复现步骤

  1. 在 Flutter 项目中使用 audio_service 插件,并将 MainActivity.kt 改为继承 AudioServiceActivity
  2. 杀死应用进程。
  3. 接收到推送消息后,从 通知栏点击消息 进入应用。
  4. 观察日志,发现神策 SDK 初始化不成功。

预期结果

无论 MainActivity.kt 继承 FlutterActivity 还是 AudioServiceActivity,在 杀进程后通过通知进入应用 时,神策 SDK 都应该能够正常初始化。


实际结果

  • FlutterActivity

    • 正常点击应用图标启动:✅ SDK 初始化成功
    • 点击通知栏进入应用:✅ SDK 初始化成功
  • AudioServiceActivity

    • 正常点击应用图标启动:✅ SDK 初始化成功
    • 点击通知栏进入应用:❌ SDK 初始化失败

相关日志

  • 使用 FlutterActivity

    • 1.正常点击图标启动-FlutterActivity-motorola-razr-plus-2024-Android-15_2025-09-18_111452.logcat
    • 2.点击通知进入-FlutterActivity-motorola-razr-plus-2024-Android-15_2025-09-18_111638.logcat
  • 使用 AudioServiceActivity

    • 3.正常点击图标启动-AudioServiceActivity-motorola-razr-plus-2024-Android-15_2025-09-18_112048.logcat
    • 4.点击通知进入-AudioServiceActivity-motorola-razr-plus-2024-Android-15_2025-09-18_112226.logcat

(注:日志文件已整理,可供进一步排查)


额外信息

  • audio_service 插件要求自定义 MainActivity 并继承 AudioServiceActivity,否则会报错:
E/flutter: PlatformException(The Activity class declared in your AndroidManifest.xml is wrong or has not provided the correct FlutterEngine. Please see the README for instructions., null, null, null)
  • 环境信息

    • 设备:motorola razr plus 2024
    • 系统:Android 15
    • 时间:2025-09-18
[√] Flutter (Channel stable, 3.24.3, on Microsoft Windows [版本 10.0.22631.5624], locale zh-CN)
    • Flutter version 3.24.3 on channel stable at D:\SDK\flutter\3.24.3
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2663184aa7 (1 year ago), 2024-09-11 16:27:48 -0500
    • Engine revision 36335019a8
    • Dart version 3.5.3
    • DevTools version 2.37.3

[√] Windows Version (Installed version of Windows is version 10 or higher)

[!] Android toolchain - develop for Android devices (Android SDK version 36.0.0-rc5)
    • Android SDK at C:\Users\xiaohan\AppData\Local\Android\sdk
    • Platform android-36, build-tools 36.0.0-rc5
    • Java binary at: D:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 21.0.6+-13368085-b895.109)
    ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[X] Visual Studio - develop Windows apps
    X Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[√] Android Studio (version 2024.3.2)
    • Android Studio at D:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.6+-13368085-b895.109)

[√] Connected device (4 available)
    • motorola razr plus 2024 (mobile) • ZY22K3MXBW • android-arm64  • Android 15 (API 35)
    • Windows (desktop)                • windows    • windows-x64    • Microsoft Windows [版本 10.0.22631.5624]
    • Chrome (web)                     • chrome     • web-javascript • Google Chrome 140.0.7339.128
    • Edge (web)                       • edge       • web-javascript • Microsoft Edge 131.0.2903.112

[√] Network resources
    • All expected network resources are available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions