8

Wi-Fi を有効/無効にする (トグル) 方法をいくつか試しています。ここに私が試みているいくつかのことがあります:

//Enable
WiFiManagerClientEnable(WiFiManagerClientCreate(kCFAllocatorDefault, 0));
//Disable
WiFiManagerClientDisable(WiFiManagerClientCreate(kCFAllocatorDefault, 0));

-と-

//Enable
WiFiManagerClientSetProperty(WiFiManagerClientCreate(kCFAllocatorDefault, 0), @"AllowEnable", kCFBooleanTrue);
//Disable
WiFiManagerClientSetProperty(WiFiManagerClientCreate(kCFAllocatorDefault, 0), @"AllowEnable", kCFBooleanFalse);

例外関数 (@try{}) があっても、それぞれがアプリをクラッシュさせてしまいます。MobileWiFi.framework とすべてをインポートしましたが、これを機能させることができないようです。これらは、Wi-Fi を有効/無効にするために呼び出す必要がある正しいメソッドですか?

注: アプリストア向けではありません:-)

4

2 に答える 2

8

アプリケーションから

notify_post("com.yourcompany.yourapp.yournotification");

ディリブから

#import <SpringBoard/SBWiFiManager.h>

HOOK(SpringBoard, applicationDidFinishLaunching$, void, id app) {
    //Listen for events via DARWIN NOTIFICATION CENTER
    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL,
     &NotificationReceivedCallback, CFSTR("com.yourcompany.yourapp.yournotification"), NULL, 
      CFNotificationSuspensionBehaviorCoalesce);
}

//THIS IS WHERE THE MAGIC HAPPENS
static void NotificationReceivedCallback(CFNotificationCenterRef center, 
                                            void *observer, CFStringRef name, 
                                            const void *object, CFDictionaryRef 
                                            userInfo) 
{ 
    [[objc_getClass("SBWiFiManager") sharedInstance] setWiFiEnabled:NO];
}
于 2010-01-28T07:26:44.080 に答える
0

電話で WiFi を無効にすることはできません。ユーザーは、設定アプリを使用してこのアクションを実行する責任があります。この機能は、SDK では使用できません。

-t

于 2010-01-13T00:46:28.713 に答える