这是一个简短的问题,但它让我困扰了一整夜。我在这里有很少的自己的应用程序(我只写Objective-C而且我使用ARC),如果我在appDelegate中编写 - application didFinishLaunching ...:
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(proximityStateChanged:) name:UIDeviceProximityStateDidChangeNotification object:nil];
我得到完全正常的回应。显示关闭,我收到通知,更改了proximityState等。
现在,我的应用程序不是我的,我应该修改它(我有Xcode项目 - 源文件)。我只应该基于proximitySensor实现一些更改。我绝对无法启用proximityMonitoring?我正在做与其他应用程序相同的事情,但它只是不调用通知而不是更改proximityState。最大的区别是这个应用程序的appDelegate是.mm - 混合语言,但我真的不认为这应该是一个问题。
是否有一些GLOBAL方法可以禁用传感器或仅使用接近传感器?用于录制音频或播放音频的某些服务是否可以禁用接近传感器?任何线索都是金色的!我真的不明白是什么阻止我启用此功能。 为每个人欢呼。
答案 0 :(得分:4)
FUU!
如果应用程序不支持纵向方向,ProximitySensor将被禁用!你可以做任何你想做的事,但如果没有将肖像作为设备方向检查,ProximitySensor就不会启动了!
答案 1 :(得分:0)
目前尚不清楚你在问什么。当你说“有一个不是我的应用程序”时,你是否有源代码,或者你想以某种方式修补它?
如果您拥有完整的源代码,那么您应该可以插入上面显示的相同调用并让它们正常工作。您需要打开邻近监视,添加观察者,然后将您的观察者方法添加到您作为观察者添加的类中。
我不认为你必须在info.plist文件中设置一个标志才能启用邻近监控,但我并不积极。我只是用它作为实验,那是不久前的。