首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署时使用Google的BadParcelableException

部署时使用Google的BadParcelableException
EN

Stack Overflow用户
提问于 2013-04-16 18:45:53
回答 1查看 215关注 0票数 3

我的活动允许用户选择地理边界,并通过setResult函数返回它们:

代码语言:javascript
复制
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();
        }
    });

呼叫代码是:。。。

代码语言:javascript
复制
  @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 (签名与否)并运行在同一个设备上时,我会得到以下错误:

由: com.google.android.gms.maps.model.LatLngBounds : Parcelable协议引起的: android.os.BadParcelableException: Parcelable协议需要一个在类android.os.BadParcelableException上称为创建者的Parcelable.Creator对象

这种情况发生在网上:

代码语言:javascript
复制
LatLngBounds bounds = 
                       data.getExtras().getParcelable(SelectGameBoundsActivity.RESULT_KEY_MAP_BOUNDS);

该设备正在运行最新的Google服务。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-11-15 12:14:06

您可能必须防止ProGuard剥离所需的类。

代码语言:javascript
复制
-keep public class com.google.android.gms.maps.** { public *; }

将其添加到pro卫士-project.txt文件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16044715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档