ios - Xamarin iOS - 推送通知 - 区分已点击的推送通知已到达

标签 ios xamarin push-notification xamarin.ios apple-push-notifications

我正在创建一个包含推送通知的 Xamarin.iOS 应用程序。

我注意到,如果应用程序未运行(不仅仅是在后台运行),当推送通知到达时(带有正确的负载),操作系统将接管通知并将其呈现给用户,如果用户在通知关闭时单击通知,我将能够从 FinishedLaunching 方法的 NSDictionary 选项参数中获取此信息(确定它是否包含 UIApplication.LaunchOptionsRemoteNotificationKey 键)

到目前为止,一切都很好。

但我有两种情况,

1) 推送通知在应用程序运行时到达。 2) 用户在启动应用程序后点击了较早到达的推送通知(应用程序关闭时)

对于这两种情况,都会调用 ReceivedRemoteNotification 方法。

但对于每个场景我想做不同的业务逻辑,我的问题是: 我如何知道场景 1 或场景 2 调用了 ReceivedRemoteNotification?

我是 Xamarin 的新手,我在网上搜索过它,但找不到解决方案。

谁能帮我解决这个问题?

谢谢。

最佳答案

在 didReceiveRemoteNotification 方法中使用以下条件检查应用程序状态,

UIApplicationState state = [[UIApplication sharedApplication] applicationState];
if (state == UIApplicationStateBackground || state == UIApplicationStateInactive)
{//write here...Application opened by tapping notification}

仅供引用-上面的代码在 Objective-c 中

关于ios - Xamarin iOS - 推送通知 - 区分已点击的推送通知已到达,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36384046/

相关文章:

ios - 对包含 Å、Ä 和 Ö 的字符串数组进行排序 - Swift

c# - 通过 nuget 将 NetMQ 安装到 xamarin 项目时出错

Xamarin 框架只有一个圆角

iOS:用户在通知提醒对话框中选择 "Cancel"然后手动启动应用程序后如何获取推送通知对象

php - 带有 php 问题的代号一推送通知

ios - iOS 设置图像的并发

iphone - 核心数据分段 TableView 排序错误

ios - 检查 CharacterSet.isSuperset 时未捕获 NSException

ios - 单击链接会卡住应用程序

iphone - 推送通知进入时调用的方法序列