小编The*_*man的帖子

WorkManagerPeriodicWorkRequest 运行两次

我有一个每 15 分钟运行一次数据库刷新的应用程序。

periodicworkrequest 在我的主要活动的 onCreate 中排队。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    updateDatabasePeriodically();


public void updateDatabasePeriodically() {
    PeriodicWorkRequest updateDatabaseRequest =
            new PeriodicWorkRequest.Builder(UpdateDatabaseWorker.class, 15, TimeUnit.MINUTES).build();

    WorkManager.getInstance(getMainActivityContext()).enqueue(updateDatabaseRequest);
}
Run Code Online (Sandbox Code Playgroud)

更新数据库工作人员:

@Override
public Result doWork() {
    // Do the work here--in this case, upload the images.


    updateDatabase();
    // Indicate whether the task finished successfully with the Result
    return Result.success();
}

private void updateDatabase() {
    AppDatabase appDatabase = AppDatabase.getInstance(context);

    Log.i(TAG, "Updating alerts at: " + DateTimeHelper.getHumanReadableTime(now));
}
Run Code Online (Sandbox Code Playgroud)

问题是每次作业执行时都会完成两次工作,如我的日志语句所示

2019-11-22 10:20:23.185 24987-25085/com.package.myapp I/com.package.myapp.UpdateDatabaseWorker: Updating …
Run Code Online (Sandbox Code Playgroud)

android android-workmanager

1
推荐指数
1
解决办法
1672
查看次数

Docker 桌面安装程序无法启动

我的 docker 安装停止工作,所以我决定卸载 docker 并重新安装它。

首先,卸载它不起作用,我会通过 Windows 卸载功能卸载它,然后当我重新启动笔记本电脑时,该应用程序会重新出现。我还以管理员权限在 powershell 中运行了这个脚本

然后我终于以某种方式卸载了它,并打开了我第一次用来安装它的同一个安装程序。它没有打开(甚至没有要求我允许进行更改)所以我想我会重新下载安装程序。

重新下载它并发生了完全相同的事情,再试了几次,突然它要求我允许开始。我兴高采烈地单击“是”并等待安装程序启动。

然而,什么也没发生。我又试了几次,突然它起作用了,我的安装程序开始了。不幸的是,它挂在“安装 CLI 插件”上。我让它在那里坐了 30 多分钟,等待某事发生,直到我点击红色的 x,然后当它提示我是否要停止安装时“是”。这并没有关闭窗口,所以我强行关闭它通过任务管理器。

我已经重新启动了我的笔记本电脑很多次,点击了更多的安装程序,但没有回到安装屏幕。任何帮助都会很棒。

Get-WmiObject -Class Win32_OperatingSystem | % Caption
Microsoft Windows 10 Pro

Get-WmiObject -Class Win32_OperatingSystem | % Buildnumber
18363
Run Code Online (Sandbox Code Playgroud)

installation docker docker-for-windows

0
推荐指数
1
解决办法
4485
查看次数