我们在我们的cordova ios应用程序中使用了几个插件,可以在后台启动应用程序。具体来说,这两个插件:https://github.com/petermetz/cordova-plugin-ibeacon和https://github.com/oursiberia/cordova-plugin-visit。不幸的是,当应用程序在后台像这样启动时,似乎没有办法通过cordova来确定它是否在后台运行。我正在注册暂停,恢复,活动和设备准备事件,并且在这种情况下交付的唯一事件是deviceready,如果应用程序由用户在前台启动,那么这也是在cordova中交付的唯一通知。在ios本地应用程序中,我将能够检查didFinishLaunchingWithOptions中的launchOptions以查看它是否使用UIApplicationLaunchOptionsLocationKey启动,或者我可以检查[[UIApplication sharedApplication] applicationState]以确定应用程序是否在后台运行。有什么方法可以确定应用程序是在科尔多瓦的后台还是任何人都知道的科尔多瓦插件中启动的?我一直在网上搜索一段时间,并没有发现任何东西。确定是否由os在后台启动cordova应用程序
1
A
回答
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];
}
相关问题
- 1. 确定应用程序是否在后台运行
- 2. Android应用程序在后台启动
- 3. Cordova - 检查应用程序是否刚刚启动
- 4. 如何确定应用程序是在后台还是终止?
- 5. 确定应用程序是否从AppleScript启动
- 6. 确定应用程序是否从主屏幕启动?
- 7. iOS在启动时启动后台应用程序
- 8. 确定我的应用程序是否在前台
- 9. 在后台启动我的控制台应用程序
- 10. 如何确定如何启动控制台应用程序?
- 11. 确定是否可以启动应用程序中的特定活动
- 12. 定位是在应用程序启动
- 13. 如何在Mac OS系统启动后自动启动应用程序
- 14. 设备重启后在后台自动运行应用程序
- 15. 杀死应用程序并启动后,它在后台运行
- 16. 从Mac OS X控制台启动iOS应用程序
- 17. 检查应用程序是否由网络浏览器启动
- 18. 如何检查应用程序是否在前台或后台
- 19. 如何确定应用程序是否是Web应用程序
- 20. 如何在启动时启动Firefox OS应用程序
- 21. 如何确定进程是否为当前活动/前台应用程序
- 22. 从另一个应用程序在后台启动iOS应用程序
- 23. 启动后台Win32控制台应用程序
- 24. 是否可以启用/禁用'应用程序不在后台运行'?
- 25. 如何确定OS是否是应用程序中的自定义ROM?
- 26. 确定给定的JavaScript操作是否由用户启动
- 27. 使用android Intent在后台启动我的应用程序
- 28. 在应用程序启动时在后台加载UIViews
- 29. 是否可以确定哪个进程启动我的.Net应用程序?
- 30. 如何不启动如果应用程序在后台
亚历克嗨,我有完全一样的问题 - 你解决了吗? –