今天,我也遇到了这个问题。所以我找到了传递对象的方法。
我的要求是通过Bitmap
目的。 (根据您的要求即可通过)
在 Gradle 文件中添加依赖项
Gradle:
dependencies {
implementation 'com.google.code.gson:gson:2.8.5'
}
使用以下方法序列化和反序列化对象
// Serialize a single object.
public static String serializeToJson(Bitmap bmp) {
Gson gson = new Gson();
return gson.toJson(bmp);
}
// Deserialize to single object.
public static Bitmap deserializeFromJson(String jsonString) {
Gson gson = new Gson();
return gson.fromJson(jsonString, Bitmap.class);
}
序列化对象。
String bitmapString = Helper.serializeToJson(bmp);
传递给数据对象。
Data.Builder builder = new Data.Builder();
builder.putString("bmp, bitmapString);
Data data = builder.build();
OneTimeWorkRequest simpleRequest = new OneTimeWorkRequest.Builder(ExampleWorker.class)
.setInputData(data)
.build();
WorkManager.getInstance().enqueue(simpleRequest);
处理你的价值Worker
class.
Data data = getInputData();
String bitmapString = data.getString(NOTIFICATION_BITMAP);
Bitmap bitmap = Helper.deserializeFromJson(bitmapString);
现在你的位图对象已经准备好了Worker
class.
Cheers !