我需要每X分钟从服务器同步一次数据,即使在关闭应用程序之后也是如此。我使用WorkManger和PeriodicWorkRequest每X分钟触发一次。这是每X分钟触发一次,即使我们关闭了应用程序。退出应用程序后我面临的问题是如何访问静态类或变量?
示例代码:
public void InitiateWorkManager()
{
PeriodicWorkRequest myWorkRequest = PeriodicWorkRequest.Builder.From<SyncClass>(System.TimeSpan.FromMinutes(15)).Build();
WorkManager.Instance.EnqueueUniquePeriodicWork(“MyIUniqueId”, ExistingPeriodicWorkPolicy.Keep, myWorkRequest);
}
同步类。反恐精英:
public class SyncClass : Worker
{
Context _context;
public SyncClass(Context context, WorkerParameters workerParameters) : base(context, workerParameters)
{
_context = context;
}
public override Result DoWork()
{
var url = Constants.url;
var list= DependencyService.Get<IEmployee>().GetEmployeeList();
}
return Result.InvokeSuccess();
}
常数。反恐精英:
public static class Constants
{
public static string url =“www.xyz.com/getdata”
}
当应用程序处于前台和后台状态,但由于DependencyService类为null而在终止状态下失败时,这种方法可以正常工作。
在这里,静态类DependencyService是从nuget包“Xamarin.Form”访问的,如果应用程序处于终止状态,则为null。
链接解释了类似的问题,但这更多的是关于流程处理。
有没有办法在DoWork()中重新定义这个静态类/变量,有什么提示/建议?沙马林。Android或java/kotlin。
在调用DependencyService之前,使用下面的代码可以解决上述问题。Get()。GetEmployeeList()
Xamarin.Forms.Init()
我使用实现了一些重复性任务,当我积极使用手机时,它在白天工作得很好(每段时间运行我的代码,早晚有几分钟)。晚上会跳过很多时段,我想知道为什么会这样,以及如何解决这个问题。 结果如下所示: --- --- --- --- --- ... --- --- --- --- --- --- ... 这肯定与设备活动有关,还请注意,我禁用了应用程序的节能功能(我的设备是2018年Android 9.0推出的
我正面临一个浪费时间的问题 我正在用本地数据库构建一个应用程序。例如,我希望此应用程序每隔15分钟向用户发送一次通知,其中包含来自数据库的一些数据。我已经成功地实现了这一点,只要应用程序正在运行或未被终止,但当应用程序被终止时,用户将不再看到通知。我正在两台真正的设备上测试这个应用程序 在主要活动中,我使用上一个通知程序每15分钟显示一次:- 当我更改通知程序类代码以显示不带任何值的日志消息时,l
我正在尝试使用WorkManager每10秒运行一个简单的工作。当应用程序在后台或前台运行时,它可以完美地工作。当我关闭应用程序(杀死应用程序)时,工作将不再被调用。 我在创建MainActivity时调用以下代码 工人阶级 这些代码在我的应用程序未关闭时运行良好。 我如何让它运行,即使应用程序关闭?
有一个很奇怪的问题...有一次我打开我的项目,并注意到我没有机会从工作室推出app...黑色三角形唱罩禁用 但是,如果我构建apk文件并使用adb命令安装它,它就可以工作。 我已经尝试删除和下载新的Android Studio,但没有任何改变... 我的插件 我的配置
我一直在尝试运行我的客户端/服务器android程序。但是每当我在android上运行客户端部分时,它都会出错不幸的是,您的应用程序已停止运行。我尝试过阅读logcat,但无法解决问题。下面是我的代码...我从3天开始一直在尝试。需要项目帮助 logcat公司 activity\u new\u main\u活动。xml manifest.xml 新建_main_活动。Java语言
问题内容: 来自Android上我的PhoneGap / Cordova应用的Ajax HTTPS请求莫名其妙地失败,状态为= 0。仅在使用释放键对应用程序进行签名(即从ADT导出)时显示,而在使用调试键进行签名(直接在模拟器或电话中运行)时不显示。 总是输出 不管我是从Play商店还是通过实用工具安装应用程序,都没有关系。我认为它可以与证书连接,因为并非所有HTTPS域都以这种方式失败。 问题答