小编Tar*_*get的帖子

Android WorkManager:无法从 PeriodicWorkRequest 获取输出数据

由于某些原因,我无法从 Android WorkManager 的 PeriodicWorkRequest 获取输出数据。工作人员按预期定期运行,只是不返回任何数据。

我的主要活动:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    schedulePeriodicRequests();
}

public void schedulePeriodicRequests() {
    PeriodicWorkRequest workRequest = new PeriodicWorkRequest.Builder(ServerRequestsWorker.class, 15, TimeUnit.MINUTES)
            .build();

    WorkManager workManager = WorkManager.getInstance(MainActivity.this);
    workManager.enqueue(workRequest);
    workManager.getWorkInfoByIdLiveData(workRequest.getId())
            .observe(this, new Observer<WorkInfo>() {
                @Override
                public void onChanged(@Nullable WorkInfo workInfo) {
                    if (workInfo != null) {
                        Log.d(LOG_TAG, "WorkInfo received: state: " + workInfo.getState());
                        String message = workInfo.getOutputData().getString(ServerRequestsWorker.KEY_MESSAGE);
                        Log.d(LOG_TAG, "message: " + message);
                    }
                }
            });
}
Run Code Online (Sandbox Code Playgroud)

我的 ServerRequestsWorker:

public static final String KEY_MESSAGE = "message"; …
Run Code Online (Sandbox Code Playgroud)

java android android-workmanager

11
推荐指数
2
解决办法
4685
查看次数

标签 统计

android ×1

android-workmanager ×1

java ×1