Wir verwenden ein paar Plugins in unserer cordova ios-Anwendung, die die Anwendung im Hintergrund starten können. Speziell diese zwei Plugins: https://github.com/petermetz/cordova-plugin-ibeacon und https://github.com/oursiberia/cordova-plugin-visit. Leider, wenn die App so im Hintergrund gestartet wird, scheint es unmöglich zu sagen, dass sie im Hintergrund über Cordova läuft. Ich registriere mich für die Pause-, Wiederaufnahme-, Aktiv- und Unterhaltungs-Ereignisse und das einzige Ereignis, das in dieser Situation geliefert wird, ist Deviceready, das auch die einzige Benachrichtigung ist, die in Cordova geliefert wird, wenn die App von einem Benutzer im Vordergrund gestartet wird. In einer ios nativen App wäre ich in der Lage, die launchOptions in didFinishLaunchingWithOptions zu überprüfen, um zu sehen, ob es mit UIApplicationLaunchOptionsLocationKey gestartet wurde, oder ich konnte [[UIApplication sharedApplication] applicationState] überprüfen, um festzustellen, ob die App im Hintergrund läuft. Gibt es eine Möglichkeit festzustellen, ob die App im Hintergrund in Cordova oder in einem Cordova-Plugin gestartet wird, von dem irgendjemand weiß? Ich habe eine Weile online gesucht und nichts gefunden.Ermitteln, ob die cordova App im Hintergrund vom Betriebssystem gestartet wird
1
A
Antwort
0
Ich schrieb mein eigenes Plugin, um dies zu tun. Hier ist, was es zu bestimmen, tut, wenn die App im Hintergrund auf ios läuft:
- (void)isAppRunningInForeground:(CDVInvokedUrlCommand *)command {
NSLog(@"- CDVAppState isAppRunningInForeground");
CDVPluginResult* result = [CDVPluginResult
resultWithStatus:CDVCommandStatus_OK
messageAsBool:[[UIApplication sharedApplication] applicationState] == UIApplicationStateActive];
[self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
}
Hallo Alec, ich bin genau das gleiche Problem haben - haben Sie es lösen? –