天天看點

iphone開發之擷取系統背光燈亮度

現在網絡上的都是使用這個方法,但是其實沒有效果的,

後面一篇本Blog将會給出另外一種有效擷取的代碼

+ (float)getBacklightLevel 

    //以下方法據查隻在2.x的sdk有效,真機測試确實沒有效果。 

    float previousBacklightLevel = 2.0; 

    NSNumber *bl = (NSNumber*) CFPreferencesCopyAppValue(CFSTR("SBBacklightLevel" ), CFSTR("com.apple.springboard")); 

    previousBacklightLevel = [bl floatValue]; //a variable to store the previous level so you can reset it. 

    [bl release]; 

    return previousBacklightLevel; 

//使用上述功能前,需要進入GraphicsServices.h。 

//因為是私有API,GSEventSetBacklightLevel(float value)這個方法, 

//可能需要自己額外在GraphicsServices.h裡定義一下(有待驗證),或者使用ToolChain編譯。 

//一般,會涉及到調節螢幕亮度的程式,都會搭配防止休眠的功能,代碼很簡單: 

//[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 

//GSEventSetBacklightLevel(newLevel); //The new level: 0.0 - 1.0.

本文轉自 arthurchen 51CTO部落格,原文連結:http://blog.51cto.com/arthurchen/577943,如需轉載請自行聯系原作者