2

这是一个简短的问题,但它困扰了我一整晚。我在这里几乎没有自己的应用程序(我只编写 Objective-C 并且我使用 ARC),如果我在 appDelegate 中编写 - 应用程序 didFinishLaunching...:

[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(proximityStateChanged:) name:UIDeviceProximityStateDidChangeNotification object:nil];

我得到完全正常的反应。显示屏关闭,我收到更改接近状态的通知等。

现在,我有一个不是我的应用程序,我应该修改它(我有 Xcode 项目 - 源文件)。我只应该根据proximitySensor 实现一些更改。我绝对无法启用接近监控?我正在做与其他应用程序相同的事情,但它只是不调用通知并且不更改proximityState。最大的不同是这个应用程序的 appDelegate 是 .mm - 混合语言,但我真的不认为这应该是一个问题。

是否有一些全球方法可以禁用传感器或仅禁用接近传感器?某些录制音频或播放音频的服务可以禁用接近传感器吗?任何线索都是金色的!我真的不明白是什么阻止了我启用此功能。大家加油。

4

2 回答 2

4

呸!

如果应用程序不支持纵向方向,ProximitySensor 将被禁用!你可以做任何你想做的事,但是如果没有将肖像检查为设备方向,ProximitySensor 将不会启动!

于 2014-01-03T04:06:42.907 回答
0

不清楚你在问什么。当你说你“有一个不是我的应用程序”时,你有源代码,还是你想以某种方式修补它?

如果您有完整的源代码,您应该能够插入上面显示的相同调用并让它们工作。您需要打开邻近监视,添加观察者,然后将观察者方法添加到您作为观察者添加的类中。

我认为您不必在 info.plist 文件中设置标志来启用接近度监控,但我并不肯定。我只将它用作实验,那是不久前的事了。

于 2014-01-03T02:37:02.173 回答