Flutter MainActivity kann nicht über den AndroidAuto-Dienst gestartet werden
Posted: 14 Jan 2025, 12:17
Ich habe eine Flutter-App für Android Auto erstellt, die ein Diagramm auf dem Telefonbildschirm und dann dasselbe Diagramm auch auf dem AA-Bildschirm im Auto anzeigt. Es verfügt über eine Standard-Flutter-Hauptaktivität und einen von mir bereitgestellten Dienst. Wenn ich auf dem Telefon auf das Symbol tippe, startet Android sowohl die Aktivität als auch den Dienst. Aber wenn ich die App vom Autodisplay aus starte, startet AA nur den Dienst. Um dies zu beheben, habe ich versucht, MainActiviy über den Dienst mit
zu starten
Im Manifest habe ich die Flutter-Standardzeilen
Jetzt funktioniert es auf einer emulierten Pixel 8a API 33. Daher ist dort kein MODE_BACKGROUND_ACTIVITY_START_ALLOWED erforderlich. Aber auf einer echten Galaxy Watch S10e API 31 funktioniert es nicht! Es passiert nichts. Warum?? Ich erhalte die folgenden Protokollmeldungen. Die Warnung lautet „allowBackgroundActivityStart: false“. Wenn das das Problem ist, erfordert die Verwendung von MODE_BACKGROUND_ACTIVITY_START_ALLOWED API 34. Wie kann ich es auch auf API 31 zum Laufen bringen?
zu starten
Code: Select all
val intent = Intent(carContext, MainActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
}
val pendingIntent : PendingIntent = PendingIntent.getActivity(
carContext,
0,
intent,
PendingIntent.FLAG_IMMUTABLE
)
// Check Android version before calling the method
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
val options = ActivityOptions.makeBasic()
options.setPendingIntentBackgroundActivityStartMode(
ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED)
pendingIntent.send(options.toBundle())
} else {
pendingIntent.send()
}
Code: Select all
Code: Select all
2025-01-14 11:54:54.751 31406-31406 CarApp.H pid-31406 I App: [se.ndssoft.autoglucose/.CarHomeService] app info: [Library version: [1.7.0-beta03] Min Car Api Level: [1] Latest Car App Api Level: [8]] Host min api: [1] Host max api: [7] [CONTEXT ratelimit_period="5 SECONDS" skipped=94 ]
2025-01-14 11:54:54.752 31406-31406 CarApp.H pid-31406 D App: [se.ndssoft.autoglucose/.CarHomeService], Host negotiated api: [7] [CONTEXT ratelimit_period="5 SECONDS" skipped=94 ]
2025-01-14 11:54:54.788 6130-6130 Compatibil...geReporter se.ndssoft.autoglucose D Compat change id reported: 160794467; UID 11536; state: ENABLED
2025-01-14 11:54:54.807 969-4019 ActivityTaskManager pid-969 I START u0 {flg=0x10000000 cmp=se.ndssoft.autoglucose/.MainActivity} from uid 11536
2025-01-14 11:54:54.814 969-4019 ActivityTaskManager pid-969 W Background activity start [callingPackage: se.ndssoft.autoglucose; callingUid: 11536; appSwitchAllowed: true; isCallingUidForeground: true; callingUidHasAnyVisibleWindow: false; callingUidProcState: BOUND_TOP; isCallingUidPersistentSystemProcess: false; realCallingUid: 11536; isRealCallingUidForeground: true; realCallingUidHasAnyVisibleWindow: false; realCallingUidProcState: BOUND_TOP; isRealCallingUidPersistentSystemProcess: false; originatingPendingIntent: PendingIntentRecord{952b2d8 se.ndssoft.autoglucose startActivity}; allowBackgroundActivityStart: false; intent: Intent { flg=0x10000000 cmp=se.ndssoft.autoglucose/.MainActivity }; callerApp: ProcessRecord{f53a5b7 6130:se.ndssoft.autoglucose/u0a1536}; inVisibleTask: false]
2025-01-14 11:54:54.819 969-4019 ActivityTaskManager pid-969 D TaskLaunchParamsModifier:task=null activity=ActivityRecord{d4b3a97 u0 se.ndssoft.autoglucose/.MainActivity display-id=0 display-windowing-mode=1 suggested-display-area=DefaultTaskDisplayArea@115968570
2025-01-14 11:54:54.820 969-4019 [secipm] pid-969 D mSecIpmManager Preload se.ndssoft.autoglucose dex files
2025-01-14 11:54:54.823 969-4019 ActivityTaskManager pid-969 D TaskLaunchParamsModifier:task=null activity=ActivityRecord{d4b3a97 u0 se.ndssoft.autoglucose/.MainActivity t-1} display-id=0 display-windowing-mode=1 suggested-display-area=DefaultTaskDisplayArea@115968570 non-freeform-display display-area=DefaultTaskDisplayArea@115968570 maximized-bounds
2025-01-14 11:54:54.823 969-2523 PkgPredict...Controller pid-969 D create a new DexPreloadTask pkg:se.ndssoft.autoglucose path:/data/app/~~TMfK3jVa236aEXamP4Tehw==/se.ndssoft.autoglucose-975VscmnCKXNJVH5wiZSMw==
2025-01-14 11:54:54.824 969-4019 ActivityManager pid-969 D Received ACTIVITY intent 0x952b2d8 Key{startActivity pkg=se.ndssoft.autoglucose intent=flg=0x10000000 cmp=se.ndssoft.autoglucose/.MainActivity flags=0x4000000 u=0} requestCode=0 res=0 from uid 11536
2025-01-14 11:54:54.829 969-2523 PkgPredict...Controller pid-969 D /data/app/~~TMfK3jVa236aEXamP4Tehw==/se.ndssoft.autoglucose-975VscmnCKXNJVH5wiZSMw==/oat/arm64/base.odex is already preloaded