2016-05-23 10 views
1

私たちはcordova iosアプリケーションでバックグラウンドでアプリケーションを起動できるプラグインをいくつか使用しています。具体的には、これらの2つのプラグイン:https://github.com/petermetz/cordova-plugin-ibeaconhttps://github.com/oursiberia/cordova-plugin-visit。残念なことに、アプリがバックグラウンドでこのように起動されると、コードワードを介してバックグラウンドで実行されていることを伝える方法がないようです。私は一時停止、再開、アクティブ、およびデバイスイベントを登録しています。この状況で配信される唯一のイベントは、アプリがフォアグラウンドでユーザーによって起動された場合、コードワで配信される唯一の通知でもあります。 iOSのネイティブアプリでdidFinishLaunchingWithOptionsのlaunchOptionsをチェックしてUIApplicationLaunchOptionsLocationKeyで起動したかどうかを確認するか、[[UIApplication sharedApplication] applicationState]をチェックしてアプリがバックグラウンドで実行されているかどうかを確認できます。アプリがコードワインのバックグラウンドで起動されるのか、それとも誰かが知っているコードワイヤーのプラグインで起動するのかどうかを判断する方法はありますか?私はしばらくオンラインで検索してきましたが、何も見つかりませんでした。バックグラウンドでosによってcordovaアプリが起動されているかどうかを確認します

+0

こんにちはアレック、私は正確に同じ問題を抱えている - あなたはそれを解決しましたか? –

答えて

0

私はこれを行うために私自身のプラグインを書くことになった。ここでは、アプリがiOSのバックグラウンドで実行されているかどうかを判断するために何をするかです:

- (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]; 

}

関連する問題