Код: Выделить всё
SecondaryActivityВ Xamarin следующая конфигурация работает должным образом:
Код: Выделить всё
MainActivityКод: Выделить всё
[Activity(Label = "MainActivity", Icon = "@mipmap/icon", RoundIcon = "@mipmap/icon_round", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize )]Код: Выделить всё
SecondaryActivityКод: Выделить всё
[Activity(Label = "SecondaryActivity", Exported = true, SupportsPictureInPicture = true), IntentFilter( new [] { Intent.ActionCreateShortcut }, Categories = new[] { Intent.CategoryLauncher } )]При использовании той же конфигурации в MAUI я обнаружил несколько заметных отличий:
- При запуске приложения вместо запуска MainActivity приложение запускало SecondaryActivity, полностью игнорируя MainLauncher = true. Я удалил категории = new[] { Intent.CategoryLauncher из SecondaryActivity, и приложение запустилось, как ожидалось.
- При нажатии на ярлык, когда приложение находится в фоновом режиме, на долю секунды отображается стандартный экран-заставка приложения, указывающий на то, что приложение в некоторой степени открывается повторно, а затем запускается SecondaryActivity. p>
- При нажатии на ярлык, когда приложение закрыто, появляется тот же экран-заставка по умолчанию, но теперь приложение вылетает.
В stacktrace я вижу, что все приложение запускается со следующим:
Код: Выделить всё
Microsoft.Maui.MauiApplication.OnCreate() Код: Выделить всё
ApplicationName.App..ctor()Код: Выделить всё
ApplicationName.Views.MainPage..ctor()
Я пробовал LaunchMode = LaunchMode.SingleTask, LaunchMode = LaunchMode.SingleInstance< /код>, нет изменить.
Я считаю, что категории = new[] { Intent.CategoryLauncher должны использоваться в SecondaryActivity, чтобы это указывало на то, что существует другой возможный вариант. лаунчер в приложение. Но даже при таком определении тот же сбой происходит при нажатии на ярлык.
Нужно ли мне обрабатывать намерение SHORTCUT в MainApplication или MauiProgram чтобы это работало?
Как правильно реализовать закрепленные ярлыки в MAUI?
Подробнее здесь: https://stackoverflow.com/questions/791 ... t-behavior
Мобильная версия