Skip to content

Android 13 issues #1812

@shiniwat

Description

@shiniwat

Description

I am using Best Practices template at this moment, as I am still investigating some specific code defect when running on Android 13. Hope this helps discussing potential issues when running on Android 13.

Android 13 introduces some behavior changes that will likely affect to SDL apps.

  1. Notification permission
    As you see at https://developer.android.com/about/versions/13/changes/notification-permission, Android 13 introduces the new runtime permission: POST_NOTIFICATION permission. Because SDL apps depends on Foreground service, which also depends on Notification channel, SDL’s foreground service requires POST_NOTIFICATION runtime permission in order for posting foreground service notification.
    As the note section at the doc above mentions, however, apps don’t need POST_NOTIFICATION permission in order to launch a foreground service. Therefore, if user disallowed the notification permission on a SDL app, the SDL service still works, while it can’t show any notification to the user.
    We should clarify if all SDL apps requires POST_NOTIFICATION runtime permission or not, and update the doc and/or library itself accordingly.

  2. Foreground services Task Manager (FGS Task Manager)
    As you see at https://developer.android.com/about/versions/13/changes/fgs-manager, Android 13 introduces Foreground Services Task Manager (FGS Task Manager), which list apps that are currently run a foreground service. Because SDL apps depend on Foreground service, basically all SDL apps will be listed on the FGS task manager, and explicitly killed by user.
    Because it is user’s action, we cannot prevent users from stopping SDL app via FGS task manager. However, we still have to verify the following points:

  • SDL app library behaves as expected even if user stopped the SDL app especially if the app runs SdlRouterService that is currently connected with head unit.
  • All SDL apps make sure it tests with the following command:
    adb shell cmd activity stop-app PACKAGE_NAME

There might be other behavior changes that potentially affect to SDL apps, but above two obviously affect to existing SDL apps, and worth discussing further.

Metadata

Metadata

Assignees

No one assigned

    Labels

    best practiceNot a defect but something that should be improved anyway

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions