Wie kann ich überprüfen, ob der Bildschirm in iOS ein- oder ausgeschaltet ist? Ich würde gerne wissen, ob der Bildschirm gerade an ist, sogar meine App ist im Hintergrund. Ich würde gerne einen Event-Listener dazu haben. Vielen Dank.iOS: Kann ich erkennen, ob der Gerätebildschirm ein-/ausgeschaltet ist?
Antwort
Sie können diesen Code versuchen, um den Status des Bildschirms in ios zu erhalten.
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), //center
NULL, // observer
displayStatusChanged, // callback
CFSTR("com.apple.iokit.hid.displayStatus"), // event name
NULL, // object
CFNotificationSuspensionBehaviorDeliverImmediately);
Sorry, dass ich diesen Teil des Codes nicht sehr verstehe. Würdest du mehr erklären? Ich bin neu in diesem Bereich. Ich werde das schnell schreiben. Irgendwelche Ratschläge? – user6539552
Ich habe auch versucht, den Code, der Fehler auf "CFSTR" und CFNotificationSuspensionBehaviorDeliver Sofort – user6539552
In Swift 3 können Sie tun:
override func viewDidLoad() {
super.viewDidLoad()
// Observer UIApplicationDidBecomeActive,UIApplicationDidEnterBackground
NotificationCenter.default.addObserver(
self,
selector: #selector(MyViewController.applicationDidBecomeActive(notification:)),
name: NSNotification.Name.UIApplicationDidBecomeActive,
object: nil)
NotificationCenter.default.addObserver(
self,
selector: #selector(MyViewController.applicationDidEnterBackground(notification:)),
name:NSNotification.Name.UIApplicationDidEnterBackground,
object: nil)
}
func applicationDidBecomeActive(notification: NSNotification) {
// here my app did become active
}
func applicationDidEnterBackground(notification: NSNotification) {
// here my app did enter background
}
Sie weitere Details in der official guide finden.
Einzelheiten von den tatsächlichen Quellen:
extension NSNotification.Name {
// These notifications are sent out after the equivalent delegate message is called
@available(iOS 4.0, *)
public static let UIApplicationDidEnterBackground: NSNotification.Name
@available(iOS 4.0, *)
public static let UIApplicationWillEnterForeground: NSNotification.Name
public static let UIApplicationDidFinishLaunching: NSNotification.Name
public static let UIApplicationDidBecomeActive: NSNotification.Name
public static let UIApplicationWillResignActive: NSNotification.Name
public static let UIApplicationDidReceiveMemoryWarning: NSNotification.Name
public static let UIApplicationWillTerminate: NSNotification.Name
public static let UIApplicationSignificantTimeChange: NSNotification.Name
public static let UIApplicationWillChangeStatusBarOrientation: NSNotification.Name // userInfo contains NSNumber with new orientation
public static let UIApplicationDidChangeStatusBarOrientation: NSNotification.Name // userInfo contains NSNumber with old orientation
// userInfo dictionary key for status bar orientation
public static let UIApplicationWillChangeStatusBarFrame: NSNotification.Name // userInfo contains NSValue with new frame
public static let UIApplicationDidChangeStatusBarFrame: NSNotification.Name // userInfo contains NSValue with old frame
// userInfo dictionary key for status bar frame
@available(iOS 7.0, *)
public static let UIApplicationBackgroundRefreshStatusDidChange: NSNotification.Name
@available(iOS 4.0, *)
public static let UIApplicationProtectedDataWillBecomeUnavailable: NSNotification.Name
@available(iOS 4.0, *)
public static let UIApplicationProtectedDataDidBecomeAvailable: NSNotification.Name
// Key in options dict passed to application:[will | did]FinishLaunchingWithOptions and info for UIApplicationDidFinishLaunchingNotification
// This notification is posted after the user takes a screenshot (for example by pressing both the home and lock screen buttons)
@available(iOS 7.0, *)
public static let UIApplicationUserDidTakeScreenshot: NSNotification.Name
}
Vielen Dank. Scheint, dass dies nur den Status meiner App überprüfen kann. Was ich tun muss, ist den Bildschirmstatus zu überprüfen, der ein- oder ausgeschaltet ist – user6539552
Irgendwelche Ratschläge dazu? – user6539552
Es gibt keine öffentliche API zu tun, was Sie wollen: Warnung, wenn Sie eine private API verwenden, könnte Ihre App als nicht gültig von Apple Bewertung beurteilt werden, müssen Sie die offiziellen API-Richtlinien verwenden –
- 1. Erkennen, ob Wifi eingeschaltet ist - iOS
- 2. Kann ich IBActionAttr in iOS erkennen?
- 3. Erkennen, ob JIT verfügbar ist
- 4. Erkennen, ob Chrome Webview ist?
- 5. Wie kann ich erkennen, ob docker für Mac installiert ist?
- 6. Erkennen, ob Night Shift-Modus ist aktiv auf iOS
- 7. Erkennen, ob GPS in Titanstudio aktiviert ist
- 8. Erkennen, ob der Dateieingabedialog geöffnet ist
- 9. Wie kann ich erkennen, ob ein Firewall-Produkt aktiviert ist?
- 10. iOS 7: Erkennen, ob App Autoupdate aktiviert ist?
- 11. iOS - erkennen, ob App läuft von Xcode
- 12. Erkennen, ob die iOS-App gehackt wurde
- 13. Erkennen, ob Datei MP3 ist
- 14. iOS Erkennen, ob Tab geändert wird
- 15. UWP Hintergrundaufgabe HttpClient schlägt fehl, wenn der Gerätebildschirm ausgeschaltet ist
- 16. Wie kann ich bestimmte iOS-Version mit jquery erkennen?
- 17. Kann ich erkennen, ob das aktuelle iOS-Gerät für die Entwicklung verwendet wird?
- 18. Erkennen, ob das Outlook-Inspektorfenster geschlossen ist
- 19. Erkennen, ob UIComponent Bildlaufleisten aktiv ist
- 20. Erkennen, ob das Overlay sichtbar ist
- 21. MQTT: Erkennen, ob die Übermittlung abgeschlossen ist
- 22. iOS: Ohne GPS ist es möglich zu erkennen, ob der Benutzer ein Fahrzeug fährt?
- 23. Wie kann man erkennen, ob ein Fragment sichtbar ist?
- 24. für Calendars.CONTENT_URI, um zu erkennen, ob der Kalender schreibgeschützt ist?
- 25. So erkennen Sie, ob der Benutzer online ist, wenn Sie das Firebase iOS SDK verwenden
- 26. Erkennen, ob eine URL ein Dateidownload ist
- 27. Erkennen, ob der Benutzer in einer Gruppe ist
- 28. Swift: Nativ erkennen, ob App abgestürzt ist
- 29. Django - erkennen, ob der Benutzer online/offline ist
- 30. Erkennen, ob das .NET-Familienupdate installiert ist
Was passiert, wenn ich die Bildschirmsperre erkennen/Ereignis entsperren statt? Kann ich das machen? (Statt Bildschirm an aus) – user6539552