我有一个Activity,允许用户选择地理边界,并通过setResult函数将它们返回:
public class MyActivity extends Activity
.
.
buttonOk.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
LatLngBounds bounds = map.getProjection().getVisibleRegion().latLngBounds;
Intent result = new Intent();
result.putExtra(RESULT_KEY_MAP_BOUNDS, bounds);
setResult(RESULT_OK, result);
finish();
}
});
调用代码如下:
. . . @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case ACTIVITY_SELECT_GAME_BOUNDS:
if (resultCode == RESULT_OK) {
mapFragment.getView().setVisibility(View.VISIBLE);
LatLngBounds bounds =
data.getExtras().getParcelable(SelectGameBoundsActivity.RESULT_KEY_MAP_BOUNDS);
当我在Eclipse中运行时,这个程序可以正常工作。但是当我尝试创建一个APK文件(签名或未签名)并在同一设备上运行时,会出现以下错误:
“Caused by: android.os.BadParcelableException: Parcelable protocol requires a Parcelable.Creator object called CREATOR on class com.google.android.gms.maps.model.LatLngBounds”
这个错误发生在以下代码行:
LatLngBounds bounds =
data.getExtras().getParcelable(SelectGameBoundsActivity.RESULT_KEY_MAP_BOUNDS);
该设备正在运行最新的Google Play服务。
有什么想法吗?