【问题标题】:How to run PhoneGap/Cordova's MainActivity in the background on Android?如何在 Android 的后台运行 PhoneGap/Cordova 的 MainActivity?
【发布时间】:2012-09-26 21:28:09
【问题描述】:

背景:

我正在使用 Cordova 创建一个应在 iOS 和 Android 上运行的应用程序。我将 SenchaTouch 用于 UI,以便 UI 的代码库对于 iOS 和 android 都是相同的。我正在使用适用于 iOS 和 android 的 Cordova 的条形码扫描仪插件。扫描仪活动由 JavaScript 代码触发。在调用barcodeScanner的扫描功能后的JS代码中,我设置了15秒的超时时间,之后如果没有扫描到条形码,我会提醒用户。

这在 iOS 中运行良好。

问题:

我的问题是,一旦 ScannerActivity 启动 MainActivity(在 Cordova 中包含运行 JS 的 webview)就会进入后台并被 android 系统自动停止。这意味着我的 JS 代码不再运行。我需要/想要触发,通过 JS,警报,暂停 ScannerActivity 但不停止 ScannerActivity。为此,我需要一种方法来保持 MainActivity 在后台运行。

解决方案:

我整天都在网上搜索,到目前为止似乎没有办法做到这一点。但不知何故,我认为应该有办法做到这一点。

【问题讨论】:

    标签: android cordova android-activity cordova-2.0.0


    【解决方案1】:

    您可以创建某种线程或服务,可以在每次需要时触发的后台运行。或者您将 ScannerActivity 集成到 MainActivity。

    否则,未显示的活动被停止/暂停是标准行为,除非它是没有 ui 的服务/线程/活动。

    【讨论】:

    • 谢谢。是的,现在我正在使用 AsyncTask。但正如你所说,如果我真的想从 JS 触发一个动作,那么我需要以某种方式将扫描活动集成到主活动中。
    猜你喜欢
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    相关资源
    最近更新 更多