有没有办法获取通知被唤起的次数? 通知必须在后台工作,如达尔文通知中心,但不幸的是,此选项忽略最后一个条目“CFNotificationSuspensionBehaviorHold”。 有人可以帮忙吗? 谢谢
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), //center
NULL, // observer
someCallBack, // callback
CFSTR("something happens"), // event name
NULL, // object
CFNotificationSuspensionBehaviorHold);
编辑:
我很抱歉没有用enaugh详细解释我的问题,但是当我得到第一个答案时我意识到了这一点。 假设我的应用程序已被使用,然后按下主页按钮。所以它将进入后台。如果在iPhone上发生了“事情发生”的事件(即使我的应用程序在后台运行),通知也会保存此信息。但只有ONCE,无论我的应用程序在后台运行的事件发生的频率如何。而且我想知道在我的应用程序在后台运行期间发生的“发生了什么事件”的确切事件数。我希望我现在能说清楚。
答案 0 :(得分:0)
试试这个:
创建一个int类型的全局实例。在ViewDidLoad中将其定义为0(零),并在调用方法时将其增加1。它可以算总数。调用。
对于例如。
<。>文件中的
int intCount;
.m文件
ViewDidLoad method
intCount=0;
在你的方法中
intCount++;
你可以像
一样打印 NSLog(@"totalInvoke=%d",intCount);
答案 1 :(得分:0)
当使用Darwin Notification Center“CFNotificationCenterGetDarwinNotifyCenter()”时,调用CFNotificationCenterAddObserver()时会忽略'object'和'suspensionBehavior'参数,所以在你的代码中CFNotificationSuspensionBehaviorHold没有效果,建议在被忽略的参数中传递0或NULL为了确保未来的兼容性,希望这会有所帮助。