2013-05-13 48 views
2

有没有人使用GSEventRegisterEventCallBackGSEventRegisterEventCallBack - 获取视图更改通知

我的应用程序在后台运行。我希望在前台应用程序(不是我的应用程序)中的视图发生更改时收到通知。是否可以通过GSEventRegisterEventCallBack

我无法以任何方式让GSEventRegisterEventCallBack工作。任何代码片段,以协助高度赞赏。

回答

1

在这个问题上的一些信息:

我greped模拟器二进制文件,并发现它在几个地方:

  • GraphicService。它在那里定义,它的实现是超级简单=。它看起来是这样的:

无效GSEventRegisterEventCallback(EventCallback eventCallBack) { __eventCallBack = eventCallBack; }

__eventCallBack是全局变量。

它看起来像它不是用在模拟器所有,但(基于在GraphicalServices这个全局变量引用租赁)

  • UIKit中,我发现一个例子它是如何在真实设备上非常积极地使用使用(它在UIApplicationMain)

GSEventRegisterEventCallback(__ UIApplicationHandleEvent)

我会说,你最好的选择将是拆卸/编译UIApplicationMain和UIApplicationHandle事件。

  • 此外,我发现它用在BKWorkserverManager的backboardd中。

这很有趣,因为它是与Springboard携手合作的stanalone服务。而且,因为它在后台,所以即使在后台也可以接收事件。

+1

嗨维克托 - 今天我们实际测试了GSEventRegisterEventCallback,并简单地保留了一个NSLog来查看我们是否收到回调。当我们返回到前台并在几秒钟后,我们会在这个函数中获得回调。但是,一旦在后台应用程序中发生事件时,我们不会收到回调。我想我怎么可以共同联系purpleeventcall回来,并获得最前端的应用程序的紫色端口已回调到我的后台应用程序..没有运气,但迄今尝试.. – Jailbroken 2013-05-15 12:56:52

+0

@Bugivore:我明白了。感谢知道。 – 2013-05-15 14:13:35