Java 在broadcast OnReceive()中,可包裹对象的Arraylist始终为空

Java 在broadcast OnReceive()中,可包裹对象的Arraylist始终为空,java,android,arraylist,parcelable,android-broadcast,Java,Android,Arraylist,Parcelable,Android Broadcast,我试图将ArrayList从IntentService传递到主UI线程上运行的活动。我实现了broadcasts和onRecieve(),对于广播单个位置对象没有任何问题。Location(一个GoogleAPI类)确实实现了parcelable,我认为这个类没有任何问题,因为使用putParcelableExtra()可以很好地工作。然而,当我尝试使用putParcelableArrayListExtra(ArrayList)时,我最终收到一个空的ArrayList。我没有例外,没有错误,什么

我试图将ArrayList从IntentService传递到主UI线程上运行的活动。我实现了broadcasts和onRecieve(),对于广播单个位置对象没有任何问题。Location(一个GoogleAPI类)确实实现了parcelable,我认为这个类没有任何问题,因为使用putParcelableExtra()可以很好地工作。然而,当我尝试使用putParcelableArrayListExtra(ArrayList)时,我最终收到一个空的ArrayList。我没有例外,没有错误,什么都没有。但是ArrayList.tostring()只显示[]。我在广播之前记录了数组列表,它显示了许多位置对象,因此我知道它已填充。以下是主要代码:

在IntentService的广播中:

private void broadcastLocationList(ArrayList<Location> locationList) {
        Log.d(LOG_TAG, "broadcast location list");
        Log.d(LOG_TAG, locationList.toString());
        Intent intent = new Intent(BROADCAST_NEW_LOCATION);
        intent.putExtra(BROADCAST_TYPE, LIST_TYPE);
        intent.putParcelableArrayListExtra(SERVICE_LOCATION_UPDATE, locationList);
        LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
    }
只是[]。这与广播端的日志非常不同,它看起来像:

[Location[fused 39.754756,-105.004355 hAcc=17 et=+1d14h5m26s327ms alt=1576.5999755859375 vel=0.28307897 bear=212.75104 vAcc=7 sAcc=??? bAcc=??? {Bundle[mParcelledData.dataSize=52]}], Location[fused 39.754758,-105.004363 hAcc=17 et=+1d14h5m31s298ms alt=1576.7999267578125 vel=0.1378234 bear=253.65567 vAcc=7 sAcc=??? bAcc=??? {Bundle[mParcelledData.dataSize=52]}]]
我尝试创建一个Bundle,然后将数组列表额外放入Bundle中,并将Bundle放入intent中,但没有区别。我还尝试改变从ParcelableArrayListXTRA初始化locList的方式,但没有任何效果。有什么想法吗

更新:

对于有类似问题的人,我只是一个接一个地广播各个位置,这种方法已经足够有效了。不过,我仍然想知道列表问题出了什么问题

Log.d(LOG_TAG, locList.toString());
[Location[fused 39.754756,-105.004355 hAcc=17 et=+1d14h5m26s327ms alt=1576.5999755859375 vel=0.28307897 bear=212.75104 vAcc=7 sAcc=??? bAcc=??? {Bundle[mParcelledData.dataSize=52]}], Location[fused 39.754758,-105.004363 hAcc=17 et=+1d14h5m31s298ms alt=1576.7999267578125 vel=0.1378234 bear=253.65567 vAcc=7 sAcc=??? bAcc=??? {Bundle[mParcelledData.dataSize=52]}]]