Как программно вывести приложение Xamrin MA C на передний план? - PullRequest
1 голос
/ 30 апреля 2020

Как вывести приложение Xamarin MA C на передний план программным способом, нажав на локальное уведомление? Как мне этого добиться? Я написал ниже код для локального уведомления. При нажатии на это локальное уведомление я хочу сделать приоритетным свое приложение.

NSUserNotificationCenter center = NSUserNotificationCenter.DefaultUserNotificationCenter;

    NSUserNotification notification = new NSUserNotification();
    notification.Title = title;
    notification.Subtitle = content;
    notification.InformativeText = "TEST";
    notification.SoundName = NSUserNotification.NSUserNotificationDefaultSoundName;
    notification.DeliveryDate = NSDate.FromTimeIntervalSinceNow(1);  

    center.ScheduleNotification(notification);

    center.DidDeliverNotification += (s, e) =>
    {
        Console.WriteLine("Notification Delivered");              
    };

    center.DidActivateNotification += (s, e) =>
    {
        Console.WriteLine("Notification Touched");                
    };

Заранее спасибо, Vivek

1 Ответ

0 голосов
/ 30 апреля 2020

Вы можете использовать NSWorkspace.SharedWorkspace.LaunchApp для «запуска» вашего приложения, не имеет значения, запущено ли уже приложение или нет, и вы можете использовать NSWorkspaceLaunchOptions.HideOthers для отображения только последнего активного окна этого приложения.

center.DidActivateNotification += (s, e) =>
{
    Console.WriteLine("Notification Touched");
    NSWorkspace.SharedWorkspace.LaunchApp(NSBundle.MainBundle.BundleIdentifier, NSWorkspaceLaunchOptions.HideOthers, new NSAppleEventDescriptor(), IntPtr.Zero);
};
...