0

有没有办法获得通知被唤起的次数?通知必须在后台工作,就像达尔文通知中心一样,但不幸的是,这个选项忽略了最后一个条目“CFNotificationSuspensionBehaviorHold”。任何人都可以帮忙吗?谢谢你

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), //center
                                NULL, // observer
                                someCallBack, // callback
                                CFSTR("something happens"), // event name
                                NULL, // object
                                CFNotificationSuspensionBehaviorHold);

编辑:

我很抱歉没有用足够的细节解释我的问题,但是当我得到第一个答案时我意识到了这一点。假设使用我的应用程序,然后按下主页按钮。所以它会进入后台。如果在 iphone 上发生“某事发生”事件(即使我的应用程序在后台运行),通知也会保存此信息。但只有一次,无论我的应用程序期间发生的事件多久在后台运行。而且我想知道在我的应用程序在后台运行期间发生的“发生某事”事件的确切数量。我希望我现在可以说清楚。

4

2 回答 2

0

使用 Darwin 通知中心“CFNotificationCenterGetDarwinNotifyCenter()”时,调用 CFNotificationCenterAddObserver() 时会忽略“object”和“suspensionBehavior”参数,因此在您的代码中 CFNotificationSuspensionBehaviorHold 无效,建议在忽略的参数中传递 0 或 NULL 以确保将来兼容性,希望对您有所帮助。

于 2014-03-06T17:24:44.153 回答
0

尝试这个:

创建一个 int 类型的全局实例。在 ViewDidLoad 中将其定义为 0(零),并在调用该方法时增加 1。它可以计算总数。的调用。

例如。

在 .h 文件中

    int intCount;

.m 文件

     ViewDidLoad method
           intCount=0;

在你的方法中

    intCount++;

你可以像这样打印

       NSLog(@"totalInvoke=%d",intCount);
于 2013-05-08T05:47:57.267 回答