2013-10-31 77 views
2

今天我正在开发闹钟应用程序。我必须使用UILocalNotification。闹钟会设置日期时间,然后会发出一些声音和消息通知。我想在这个时候屏幕的亮度(可能是主屏幕或锁屏)增加到最高水平(闹钟应用程序在这个时候是在后台)。有可能这样做吗?接收UILocalNotification时更改屏幕亮度

+1

Apple不允许您的应用程序修改设备状态,而不在前台。 –

回答

4

我不认为人们正确读取你的问题。 只有当您的应用前端&居中时,才能调整屏幕亮度。您无法在应用程序中更改任何其他屏幕(不使用私有API)的屏幕亮度,例如主屏幕或锁定屏幕。

只是为了澄清,有关的iOS5及以上,你可以改变亮度当你的应用程序使用

[[UIScreen mainScreen] setBrightness:1.0]; 

但是只要你点击home键显示,或者您的应用程序关闭,屏幕上会恢复用户当前的亮度偏好。

+0

是的,您真的了解我的问题,我想在后台应用程序中更改其他屏幕的亮度,这是我的要求之一。所以我应该拒绝这个要求。 – lenhhoxung

+0

如果这回答了您的问题,请考虑将其标记为答案。 – Dermot

0

下面是改变亮度代码:

[[UIScreen mainScreen] setBrightness:1.0]; 

但我认为它仅适用于iOS 5以上。

+0

这些代码行在我的应用程序处于后台时不适用。 – lenhhoxung

+0

Apple不允许您的应用程序在其前景中修改设备的状态。 –

0

是的,你可以通过在你的视图中添加一个黑色视图并改变其alpha值,它会看起来像你在改变亮度。

 UIView * polygonView = [[UIView alloc] initWithFrame: CGRectMake (0, 0, 500, 500)]; 
    polygonView.backgroundColor = [UIColor blackColor]; 
    polygonView.alpha = 0.2; 
0

实现这一初始设置屏幕亮度少

[[UIScreen mainScreen] setBrightness:0.5]; 

那么当通知自带然后使它完全

[[UIScreen mainScreen] setBrightness:1.0]; 
+0

这些代码行不适用于我的应用程序在后台。 – lenhhoxung