我有一个Location对象,我想将其传递给另一个活动。 我读了如何使用序列化传递自定义对象但如何传递预定义对象。 一种解决方案可能是创建仅包含Location变量的自定义类。还有其他方法吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
就像@nongthonbam-tonthoi提供的那样: 位置由3个值定义:纬度,经度和精度(基本上是点+半径)。
Location loc = getLocationFromSomewhere();
Data myData = new Data.Builder()
.putDouble(KEY_LOC_LAT, loc.getLatitude())
.putDouble(KEY_LOC_LON, loc.getLongitude())
.putDouble(KEY_LOC_ACCURACY, loc.getAccuracy())
.build();
OneTimeWorkRequest myWork = new OneTimeWorkRequest.Builder(MyWorker.class)
.setInputData(myData)
.build();
WorkManager.getInstance().enqueue(myWork);