如何使用WorkManager接收通知操作

时间:2019-07-18 08:50:42

标签: android android-architecture-components android-workmanager

在引入WorkManager之前,我使用IntentService进行通知。因此,如果我有几个动作,我只会在意图中传递这些动作,然后在我的IntentService类中接收它们。

 @Override
protected void onHandleIntent(@Nullable Intent intent) {
    assert intent != null;
    String action = intent.getAction();
    NotificationTasks.executeTask(this, action);
}

但是,我试图为WorkManager做同样的事情,但被卡住了。我已经看到了这个https://developer.android.com/topic/libraries/architecture/workmanager/advanced#params,但是它实际上并没有帮助,因为我得到的只是输入,而不是传递的意图字符串操作。 请帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

WorkManager没有意图的概念,因为它需要在应用程序级别序列化其输入数据。因此,您有两种方法可以做到这一点:

  1. 您可以输入包含Intent的所有各个部分的输入数据,然后在工作人员中重建Intent。

  2. 您可以继续使用IntentService。在这种情况下,您使用WorkManager是否有特定原因?