AndroidWorkManager-我能在定期运行的Worker中传递输入数据吗?
创始人
2024-10-12 06:31:04
0

是的,你可以在周期性运行的Worker中传递输入数据。为此,你可以使用WorkerParameters.getInputData(),它将返回包含Worker创建时传入的所有数据的Data对象。

下面是一个示例,在此示例中,Worker将每隔15分钟运行一次,并打印传递给它的输入数据:

首先,我们定义一个Worker类:

public class MyWorker extends Worker { public static final String KEY_MY_DATA = "MY_DATA";

public MyWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
    super(context, workerParams);
}

@NonNull
@Override
public Result doWork() {
    Data inputData = getInputData();
    String myData = inputData.getString(KEY_MY_DATA);

    // Do the work here and print the input data
    Log.d("MyWorker", "Input Data: " + myData);

    return Result.success();
}

}

然后,我们可以使用以下代码创建并执行Worker:

Constraints constraints = new Constraints.Builder() .setRequiredNetworkType(NetworkType.CONNECTED) .build();

PeriodicWorkRequest periodicWorkRequest = new PeriodicWorkRequest.Builder(MyWorker.class, 15, TimeUnit.MINUTES) .setInputData(new Data.Builder().putString(MyWorker.KEY_MY_DATA, "Hello WorkManager!").build()) .setConstraints(constraints) .build();

WorkManager.getInstance(context).enqueue(periodicWorkRequest);

在这个示例中,我们传递一个包含字符串“Hello WorkManager!”的Data对象给我们的Worker。然后我们使用WorkManager的enqueue()方法将定期请求添加到队列中。

现在,每隔15分钟,Worker将会执行,并从输入数据中读取“Hello WorkManager!”并将其打印出来。

相关内容

热门资讯

透视了解"pokem... 透视了解"pokemmo辅助脚本"详细辅助透明挂教程(底牌透视技巧);玩家必备必赢加哟《136704...
透视有挂"wepok... 此外,数据分析德州(wepoker底牌透视)辅助神器app还具备辅助透视行为开挂功能,通过对客户we...
透视教学"wpk模拟... 1、透视教学"wpk模拟器"详细辅助新版2025教程(到底有透视软件);详细教程。2、wpk模拟器透...
透视辅助"poker... 透视辅助"pokermaster脚本"详细辅助2025新版教程(私人局俱乐部辅助软件);原来确实真的...
透视科技"wepok... 透视科技"wepoker线上大神"详细辅助辅助教程(辅助透视方法);支持2-10人实时对战,虚拟庄家...
透视游戏"wepok... 透视游戏"wepoker免费脚本咨询"详细辅助教你教程(辅助分析器技巧);亲真的是有正版授权,小编(...
透视辅助"wepok... 透视辅助"wepoker有没有挂"详细辅助玩家教程(私人局有透视神器)关于wepoker有没有挂机制...
透视好友房"wepo... 透视好友房"wepoker辅助软件视频"详细辅助微扑克教程(软件透视);玩家必备必赢加哟《13670...
透视了解"hhpok... 透视了解"hhpoker免费辅助器"详细辅助技巧教程(作弊辅助方法);科技安装教程;13670430...
透视攻略"wepok... 此外,数据分析德州(wepoker免费脚本咨询)辅助神器app还具备辅助透视行为开挂功能,通过对客户...