iOS - überprüfen Sie, ob bluetooth aktiviert ist, ohne system alert popup zum user
Dieser code ermöglicht es zu bestimmen, den aktuellen bluetooth-status:
CBCentralManager* testBluetooth = [[CBCentralManager alloc] initWithDelegate:nil queue: nil];
switch ([testBluetooth state]) {....}
Aber, wenn [[CBCentralManager alloc] init...] passiert, system-popups ein Alarm an Benutzer, wenn bluetooth deaktiviert ist.
Gibt es eine Möglichkeit zu überprüfen, bluetooth-status, ohne zu stören meine Nutzer?
InformationsquelleAutor Oleg Shanyuk | 2012-09-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bekam ich folgende Antwort von einem apple-Entwickler : In iOS7, die
CBCentralManagerOptionShowPowerAlertKey
option können Sie deaktivieren diese Warnung.Wenn Sie havea ein CBCentralManager, wenn Sie ihn initialisieren, können Sie die Methode
initWithDelegate:queue:options
Beispiel:
In meine .h-Datei habe ich eine
CBCentralManager * manager
In .m-Datei :
Mit diesem code die Warnung nicht mehr angezeigt wird, ich hoffe, das hilft !
Es funktioniert nicht in iOS 5
Funktioniert nicht in iOS 8+
Du hast Recht, ich sollte nicht fügen Sie die Optionen, um den scanForPeripheralsWithServices
InformationsquelleAutor Ali Abbas
In swift, die Sie tun können, schreiben Sie diese zwei Zeilen in Ihrer app Delegat in der func: didFinishLaunchingWithOptions launchOptions
wo Ihr bCentralManger sollte erklärt werden :
private var bCentralManger: CBCentralManager!
InformationsquelleAutor Alex Zanfir
Derzeit gibt es keine Möglichkeit, deaktivieren Sie diese Warnung, wenn Sie Ihre Anwendung auf einem iOS-Gerät, das unterstützt Bluetooth LE und wo ist Bluetooth deaktiviert. Es wäre ein enhancement-request, um ein Mittel zum deaktivieren des alarms. So, mehr Anfragen, Apple bekommt über diese Verstärkung, desto besser.
InformationsquelleAutor Gato
Habe ich folgenden code zum deaktivieren Alarm für iOS 8 und vor version
InformationsquelleAutor Rushabh
Durch die Kombination von BadPirate ist und Anas' beantworten, können Sie den bluetooth-Status anzuzeigen, ohne system alert.
InformationsquelleAutor Hsm
Habe ich nur getestet auf iOS 9 so, vielleicht könnte jemand dies testen einer älteren OS-Geräte.
Wir tun alles, was in der Regel außer einer Sache, statt Einstellungen der
CBCentralManager
Delegierten inviewDidLoad
wir verlassen diesen bis zu dem moment, wo wir es brauchen, im Beispiel unten das nenne ich mal meineWKWebView
geladen hat, und da jede Seite von meiner web-Ansicht potenziell erfordert die Verwendung von Bluetooth ich habe dies imWKWebView didFinishNavigation
.Swift
Dem moment, in Stellvertretung festgelegt ist, innerhalb
bluetoothStatus()
sehen Sie den Status ändern Feuer.Die Benachrichtigung so aktivieren Sie die Bluetooth nur zu wollen scheint, rechts aufgerufen werden beim ersten laden der app, es zu tun auf diese Weise bedeuten, dass Sie nur das bekommen, was Sie wollen, aus der
centralManagerDidUpdateState
InformationsquelleAutor Ant Avison