Sie dies tun können, (natürlich, private APIs natürlich mit):
auf iOS5 :
#include <stdio.h>
#include <dlfcn.h>
int (*SBSSpringBoardServerPort)() = (int (*)())dlsym(RTLD_DEFAULT, "SBSSpringBoardServerPort");
int port = SBSSpringBoardServerPort();
void (*SBDimScreen)(int _port,BOOL shouldDim) = (void (*)(int _port,BOOL shouldDim))dlsym(RTLD_DEFAULT, "SBDimScreen");
und dann
SBDimScreen(port,YES);
verwenden, wenn Sie dimmen wollen, und
SBDimScreen(port,NO);
, wann immer Sie wollen Aufblend.
Auf iOS6:
void (*BKSDisplayServicesSetScreenBlanked)(BOOL blanked) = (void (*)(BOOL blanked))dlsym(RTLD_DEFAULT, "BKSDisplayServicesSetScreenBlanked");
und dann verwenden:
BKSDisplayServicesSetScreenBlanked(1); // 1 to dim, 0 to undim
"Dim" bedeutet hier völlig den Bildschirm auszuschalten. Dies verwendet das System, wenn z.B. Während eines Anrufs tritt ein Proximity-Ereignis auf.
können Sie sagen, warum der Netzschalter nicht für Sie funktioniert? – nycynik