如何在 ionic/android 后台运行应用程序
Posted
技术标签:
【中文标题】如何在 ionic/android 后台运行应用程序【英文标题】:How to App running in background in ionic/android 【发布时间】:2022-01-16 08:50:50 【问题描述】:我已经构建了一个混合 (android/ios) 应用程序。我必须下载大量文件并在后台对它们进行一些处理。
我使用 Ionic 构建了应用程序。当它在前台时,它工作得很好。我想让应用程序在后台运行,并在后台本身进行所有处理。我已经尝试过 Ionic 的“native api cordova-plugin-background-mode”,但它不适用于所有版本的 Android,尤其是 Android 11。
它仅支持到 Android 8,但我对插件文件进行了一些更改,并使其适用于 Android 9/10。此外,该插件不保证被 Android/iOS 接受。
请为 Android 和 iOS
推荐一些方法另外,是否可以将 android-studio / Xcode 中可用的包合并到使用 Ionic 构建的应用程序中?
【问题讨论】:
Re iOS,后台URLSession
允许您在后台下载文件,然后在完成后可选择在后台启动您的应用程序。此时,如果您处理图像需要几秒钟,您可以在后台 URLSession
在后台启动您的应用程序时执行此操作。但是,如果您的“处理”时间可能超过 30 秒,您必须使用类似 (BGProcessingTask
,其中操作系统将在选择操作系统时启动您的应用程序。
@Rob 感谢您提供的信息,但是是否可以通过 Xcode 将不属于 ionic 的功能组合到 ionic 应用程序中
对不起,我不是 Ionic 用户,所以我不能说。我只是想分享基本的 iOS 机制,这些机制最终限制了应用程序在 iOS 平台上的功能。你如何从 Ionic 使用这些是一个单独的问题,我无法回答(这就是为什么我只发表评论而不是答案)。抱歉,祝你好运。
【参考方案1】:
你试过这个插件了吗:cordova-plugin-background
document.addEventListener('deviceready', function ()
cordova.plugins.backgroundMode.enable();
cordova.plugins.backgroundMode.onactivate = function ()
//Exec Your Action here when the device in backgroundMode
, false);
【讨论】:
我假设您建议的插件是cordova-plugin-background-mode。在那种情况下,我已经尝试过该插件,并且该应用在不同的移动配置上 15-20 分钟后停止以上是关于如何在 ionic/android 后台运行应用程序的主要内容,如果未能解决你的问题,请参考以下文章