Question

HI,

Je veux vérifier si le mode Avion est activé ou non. Comment vérifier cela?

merci + comment vérifier que l’utilisateur utilise WIFI, GPRS OU EDGE. comment différencier ??

Était-ce utile?

La solution

Si vous souhaitez simplement afficher la notification, lorsque l'utilisateur est en mode avion, il suffit alors d'activer la propriété SBUsesNetwork dans le fichier plist de votre application. Lorsque votre code utilise le réseau, l'utilisateur est invité à désactiver automatiquement le mode Avion.

Voir par exemple ce message .

Autres conseils

Je ne sais pas si vous pouvez vérifier spécifiquement le mode avion, mais le accessibilité sur le site Web iphone adc vous permet de vérifier si l’iphone a accès à Internet.

Ceci répond à la deuxième partie de la question - comment savoir quel type de réseau l'utilisateur est connecté (Wifi ou 3G / bord). Il utilise le code d'accessibilité de Apple. Mettez ceci dans votre méthode didFinishLaunchingWithOptions dans le délégué de votre application:

Reachability *curReach = [Reachability reachabilityWithHostName: @"www.apple.com"];
NetworkStatus netStatus = [curReach currentReachabilityStatus];
switch (netStatus)
{
    case NotReachable:
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Network Status" message:@"Please note: Network access is required to retrieve images." delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
        [alert show];
        [alert release];
        break;
    }
    case ReachableViaWiFi:
    case ReachableViaWWAN:
    {
        break;
    }
}   

Pour le SDK 3.0

(http://bbs.51pda.cn/simple/?t4861.html)

#import unistd.h
#include dlfcn.h
#include stdio.h

typedef int (*airType)();
static int (*real_air)() = NULL;

int main(int argc, char **argv)
{

int status = 0;
void *libHandle = dlopen("/System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony", RTLD_LAZY);
real_air = (airType)dlsym(libHandle, "CTPowerGetAirplaneMode");

if(! real_air)
{
printf("something wrong");
}
else
{
status = real_air();
}

printf("%d",status);

return status;
}
  

debian: ~ # arm-apple-darwin9-gcc -lobjc -bind_at_load   -F " / System / Library / PrivateFrameworks " -framework CoreTelephony test.c -o test

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top