Worker class 未被 OneTimeWorkRequest 触发
Worker class not getting triggered by the OneTimeWorkRequest
我的 OneTimeWorkRequest 不会触发我的 SendFeedbackMessageWorker。
工作请求应该通过约束“.setRequiredNetworkType(NetworkType.CONNECTED)”触发,但是每当我尝试在没有网络连接的情况下发送消息然后再次连接时,class 永远不会被触发。
谁能指出哪里出了问题?
private void handleFeedbackMessageFailure(Context context, FeedbackMessage message) {
Constraints constraints4 = new Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build();
Data myFeedbackMessage = new Data.Builder()
.putString("myFeedbackMessageId", message.getId())
.putString("myFeedbackMessage", message.getFeedbackMessage())
.putString("myFeedbackPerson", message.getFeedbackPersonName())
.putString("myFeedbackCreated", message.getCreated().toString())
.build();
OneTimeWorkRequest sendFeedbackWorker = new OneTimeWorkRequest.Builder(SendFeedbackMessageWorker.class)
.setInputData(myFeedbackMessage)
.setConstraints(constraints4)
.build();
WorkManager.getInstance(context).enqueue(
sendFeedbackWorker
);
按照此处所述检查 JS 信息:
https://developer.android.com/topic/libraries/architecture/workmanager/how-to/debugging
使用:
adb shell dumpsys jobscheduler
在结果中 - 检查约束部分中未统计的内容。
如果是连通性:
检查您期望的功能(作业信息中的部分日志)并将它们与当前活动的网络功能进行比较。
此外,如果时间不够是问题所在 - 您会在限制条件中看到它。
我的 OneTimeWorkRequest 不会触发我的 SendFeedbackMessageWorker。 工作请求应该通过约束“.setRequiredNetworkType(NetworkType.CONNECTED)”触发,但是每当我尝试在没有网络连接的情况下发送消息然后再次连接时,class 永远不会被触发。
谁能指出哪里出了问题?
private void handleFeedbackMessageFailure(Context context, FeedbackMessage message) {
Constraints constraints4 = new Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build();
Data myFeedbackMessage = new Data.Builder()
.putString("myFeedbackMessageId", message.getId())
.putString("myFeedbackMessage", message.getFeedbackMessage())
.putString("myFeedbackPerson", message.getFeedbackPersonName())
.putString("myFeedbackCreated", message.getCreated().toString())
.build();
OneTimeWorkRequest sendFeedbackWorker = new OneTimeWorkRequest.Builder(SendFeedbackMessageWorker.class)
.setInputData(myFeedbackMessage)
.setConstraints(constraints4)
.build();
WorkManager.getInstance(context).enqueue(
sendFeedbackWorker
);
按照此处所述检查 JS 信息:
https://developer.android.com/topic/libraries/architecture/workmanager/how-to/debugging
使用: adb shell dumpsys jobscheduler
在结果中 - 检查约束部分中未统计的内容。
如果是连通性:
检查您期望的功能(作业信息中的部分日志)并将它们与当前活动的网络功能进行比较。
此外,如果时间不够是问题所在 - 您会在限制条件中看到它。