У меня есть приложение Flutter — простой онлайн-плеер, использующий flutter_carplay и audio_service. Я выпускаю это приложение только для iOS.
При запуске приложения оно загружает элементы, в которые можно воспроизвести. На мобильном устройстве это работает должным образом.
Если я запускаю приложение, а затем включаю его через CarPlay, на экране CarPlay все элементы отображаются правильно.
Если приложение не запущено и я открываю его только через CarPlay, экран пуст. Мне кажется, приложение нужно сначала запустить, прежде чем оно сможет работать через CarPlay. Может ли кто-нибудь посоветовать, как добиться такого поведения (чтобы его можно было запускать напрямую из CarPlay)? Я считаю, что это может быть полезно для многих разработчиков, поскольку функциональность CarPlay во Flutter до сих пор недостаточно документирована.
У меня есть приложение Flutter — простой онлайн-плеер, использующий flutter_carplay и audio_service. Я выпускаю это приложение только для iOS. [list] [*]При запуске приложения оно загружает элементы, в которые можно воспроизвести. На мобильном устройстве это работает должным образом. [*]Если я запускаю приложение, а затем включаю его через CarPlay, на экране CarPlay все элементы отображаются правильно. [*]Если приложение не запущено и я открываю его только через CarPlay, экран пуст. Мне кажется, приложение нужно сначала запустить, прежде чем оно сможет работать через CarPlay. Может ли кто-нибудь посоветовать, как добиться такого поведения (чтобы его можно было запускать напрямую из CarPlay)? Я считаю, что это может быть полезно для многих разработчиков, поскольку функциональность CarPlay во Flutter до сих пор недостаточно документирована. [/list] Это точка входа в приложение:< /p> [code]void main() async { await App.initApp(); // basic initialization (Firebase, ...) runApp(const App()); } [/code] Это виджет приложения. [code]class App extends StatelessWidget { const App({super.key});
@override Widget build(BuildContext context) { return MaterialApp( builder: (BuildContext context, Widget? child) {}, home: HomePage() ); } } [/code] Весь код, связанный с CarPlay, можно найти на главной странице: [code]class HomePage extends StatefulWidget { const HomePage({super.key});
@override State createState() => _HomePageState(); }
class _HomePageState extends State { final FlutterCarplay _flutterCarplay = FlutterCarplay();
@override void dispose() { _flutterCarplay.removeListenerOnConnectionChange(); super.dispose(); } } [/code] Я пытался вызвать initCarPlay() напрямую в main(), но результат был тот же.