【问题标题】:Xamarin.Android - Keep the app working in background after closing it with a local notificationXamarin.Android - 在使用本地通知关闭应用程序后保持应用程序在后台运行
【发布时间】:2018-12-27 22:05:39
【问题描述】:

目前,我有一个用 Xamarin.Android 编写的移动应用程序。因为应用程序中不断有 HTTP 请求,所以我想做的是在关闭应用程序后保持应用程序处于活动状态。

我正在查看的是,例如,在您关闭应用程序后,它会在后台继续发送 HTTP 请求,但是有一个本地通知,当您单击它时,您可以打开应用程序。应该有一个明确的退出按钮,可以在应用程序内部。更详细地说,HTTP 请求以秒为单位以某个时间间隔发送。

所以我的最终目标是让应用程序持续运行,如果它在后台,然后显示它仍然启动的通知,并且只能从应用程序内部关闭它(即使从后台)。

我找不到很多专门针对这个问题的资源,而且我不太确定我可以使用什么来完成这项工作。

提前致谢!

【问题讨论】:

  • 您应该查看 Android 可用的各种服务类和最新的 WorkManager:developer.android.com/topic/libraries/architecture/workmanager 仅供参考:用户始终可以终止和“强制退出”应用程序
  • @SushiHangover 我注意到在较新版本的 Android(6 及更高版本)中,如果后台服务在其自己的进程中运行,则它不再列在应用程序中。

标签: android xamarin xamarin.android android-notifications android-background


【解决方案1】:

根据文档,您尝试执行的操作是受支持的:

向用户发送通知

当服务运行时,它可以通知用户事件使用 Toast 通知或状态栏通知。

toast 通知是显示在 当前窗口只停留片刻,然后消失。状态栏 通知在状态栏中提供一个带有消息的图标,它 用户可以选择以采取行动(例如启动 活动)。

通常,状态栏通知是在以下情况下使用的最佳技术 文件下载等后台工作已完成,用户 现在可以采取行动了。 当用户从中选择通知时 扩展视图,通知可以启动一个活动(比如 显示下载的文件)。

请参阅 Toast 通知或状态栏通知开发人员 指南以获取更多信息。

参考:https://developer.android.com/guide/components/services
参考:https://developer.android.com/guide/components/processes-and-threads

【讨论】:

  • 您好,谢谢您的回答,非常有帮助。然而,我遇到的问题之一是用户可以随时从 Android 应用程序切换终止应用程序。所以我不太确定我是否可以处理这种行为。我的意思是,每当用户终止应用程序时,为了处理此事件,将任何内容添加到状态栏并保持应用程序在后台运行。如果他想关闭它,那么从应用程序中明确地做到这一点。目标是在手机打开时保持应用始终打开,因为它正在发送设备的一些统计信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-02
相关资源
最近更新 更多