如何每天早上运行任务,即使手机之前在 Xamarin(首选 Android 和 IOS)中使用例如 Shiny 重新启动过?

问题描述 投票:0回答:1

我有2个接口: 议程:我有一个界面来获取当天的 ICal。 Spotify:我用 C# 为 Spotify API 制作了一个接口。

我希望在早上运行一项任务,以检查我当天的第一个约会。然后,它应该安排一个任务在约会前 1.5 小时运行。此任务将调用 Spotify 函数,就像闹钟一样。

有人知道至少在 Android 上如何实现这一点吗?

感谢您提前回复!

我尝试使用 BroadcastReceiver 和 Booting 来连续运行任务,但我认为这不是一个有效的解决方案。

我尝试研究 Shiny,但我仍然不明白 Android 的后台和时钟系统原理

c# android xamarin shiny automation
1个回答
0
投票

你需要的可能是后台服务

Android:https://learn.microsoft.com/en-us/xamarin/android/app-fundamentals/services/foreground-services

IOS:https://learn.microsoft.com/en-us/xamarin/ios/app-fundamentals/backgrounding/ios-backgrounding-techniques/

至于android中的步骤:

  1. 在android清单中激活android.permission.FOREGROUND_SERVICE

  2. 创建执行 Spotify 操作的意图服务:https://learn.microsoft.com/en-us/xamarin/android/app-fundamentals/services/creating-a-service/intent-services

  3. 有了 android 上下文,你可以在任何你想要的地方运行 StartService(yourServiceIntent)

  4. 在MainActivity中,在重写方法OnNewIntent()中检查意图是否是您创建的意图,然后运行方法StartForeGroundService(intent)

  5. 您可以在任何地方使用 context.CloseService

    关闭它

在接下来的几天里,我将创建一个示例并将链接发布在那里,但我希望它现在可以帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.