В Java:
Передайте параметры следующим образом:
Constraints.Builder builder = new Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED);
// Passing params
Data.Builder data = new Data.Builder();
data.putString("SyncMaster", syncModuleName);
OneTimeWorkRequest syncWorkRequest =
new OneTimeWorkRequest.Builder(SyncWorker.class)
.addTag("Sync")
.setInputData(data.build())
.setConstraints(builder.build())
.build();
WorkManager.getInstance().enqueue(syncWorkRequest);
Вы можете получить вот так:
public class SyncWorker extends Worker {
private static final String TAG = "MyWorker";
public SyncWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
mContext = context;
}
@NonNull
@Override
public Result doWork() {
Log.d(TAG, "doWork for Sync");
String syncTable = getInputData().getString("SyncMaster");
return Result.success();
}
}
Надеюсь, это явно поможет.