c# - 当用户在 ios/xamarin 中的通知中心点击通知时会触发哪些事件

标签 c# ios xamarin apple-push-notifications

我正在使用 ios/xamarin 构建移动应用程序,我想确定当应用程序在后台运行或未激活时,当用户单击 ios/xamarin 通知中心中的通知时将触发哪些事件。

我检查了 ReceivedRemoteNotification无论应用程序是否处于事件状态,当我单击通知中心中的通知时都会触发事件。

最佳答案

当应用程序处于事件状态时:

如果您的应用程序处于事件状态,则默认情况下将调用以下方法来接收通知:

DidReceiveRemoteNotification



如需调用收到远程通知 默认情况下,您必须添加 key UIBackgroundModes 带值 远程通知 info.plist 文件

当应用程序在后台时

iOS 将自行显示收到的通知。目前在这种情况下无法调用任何方法。因此,当用户再次点击接收到的通知时 DidReceiveRemoteNotification 方法将被调用,您将在其中收到有关详细信息的通知。

当应用程序处于非事件状态时:

iOS 将自行显示收到的通知,在这种情况下再次无法调用任何方法。现在,当用户点击当时收到的通知时 已上线方法将被调用并使用以下代码,您可以获得本地和远程通知的数据:
if (options != null)
            {
                // check for a local notification
                if (options.ContainsKey(UIApplication.LaunchOptionsLocalNotificationKey))
                {
                    UILocalNotification localNotification = options[UIApplication.LaunchOptionsLocalNotificationKey] as UILocalNotification;
                    if (localNotification != null)
                    {
                        //--your code
                    }
                }

                // check for a remote notification
                if (options.ContainsKey(UIApplication.LaunchOptionsRemoteNotificationKey))
                {
                    NSDictionary remoteNotification = options[UIApplication.LaunchOptionsRemoteNotificationKey] as NSDictionary;
                    if (remoteNotification != null)
                    {
                        //--your code
                    }
                }
            }

关于c# - 当用户在 ios/xamarin 中的通知中心点击通知时会触发哪些事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28264033/

相关文章:

ios - 在Windows中无法以编程方式在iOS中录制的音频无法播放

c# - Xamarin:实例化 Xamarin.Droid 或 Xamarin.iOS 类

c# - 从C#到MySql的InsertQuery

c# - 如何将类属性添加到实例列表

objective-c - 如何在有条件的屏幕之间移动(如果...)

android - 在 Android Activity 之间有效传递自定义对象数据 [Mono Android]

ios - PrinterToPrint 不显示打印作业进度对话框

c# - Visual Studio 2010 Bing map 位置查找器(按经度和纬度)

c# - 如何单击另一种形式的按钮运行 Game1

objective-c - UIScrollview 倾斜