- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 ListenableWorker 来执行后台任务。
另外我希望操作系统知道我的服务重要性,所以我调用
setForegroundAsync(new ForegroundInfo(WorkerConstants.NOTIFICATION_FOREGROUND_ID,
builder.build()));
PendingIntent intent = WorkManager.getInstance(getApplicationContext())
.createCancelPendingIntent(getId());
builder.addAction(R.drawable.ic_redesign_exit,"Stop",intent);
最佳答案
我用这个向谷歌跟踪器提交了一个问题。并发现那是完全破旧的。
官方回复如下:
Looking at your sample app, you are introducing a race between completion of your ListenableFuture returned by CallbackToFutureAdaptor, and the main looper.
Even without the use of REPLACE one of your Notification updates is posted after your Worker is marked as successful.
However, you can actually avoid the race condition by waiting for the call to setForegroundAsync() to be completed (because that also returns a ListenableFuture). Once you do that - you never have a notification that shows up after your Worker is done.
I will also go ahead and file an improvement on how we can automatically do this even when developers get this wrong.
try {
// This ensures that you waiting for the Notification update to be done.
setForegroundAsync(createForegroundInfo(0)).get();
} catch (Throwable throwable) {
// Handle this exception gracefully
Log.e("FgLW", "Something bad happened", throwable);
}
关于android - ListenableWorker 不移除通知图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60541280/
我正在使用 ListenableWorker 来执行后台任务。 另外我希望操作系统知道我的服务重要性,所以我调用 setForegroundAsync(new ForegroundInfo(Work
由于我需要在 WorkManager 中异步执行工作,我需要使用 ListenableWorker ,默认情况下在主 (UI) 线程上运行。由于这项工作可能是一个很长的处理任务,可能会卡住界面,我想在
我似乎找不到停止工作任务的正确方法。我调用.set(Result.success());在我的 ResolvableFuture , 但它永远不会触发 onStopped()在我的类(class)中,
Android developer docs展示如何使用 ListenableWorker 的示例。然而,尽管已将 councurrent-futures 添加到我的项目中,但我现在看到了文档中使用的
做一点Jeopardy style Q&A这里。 我有一些工作有时需要按照 version 2.7.0 of WorkManager 中所述的加急运行。 : val constraints = Con
我通过这个链接 Migrating from Firebase JobDispatcher to WorkManager , 我发现有Worker和ListenableWorker,这两个用在什么地方
我正在尝试实现 Android ListenableWorker startWork() method返回 com.google.common.util.concurrent.ListenableFu
我是一名优秀的程序员,十分优秀!