【发布时间】:2020-05-24 02:44:56
【问题描述】:
我在保存的游戏屏幕上,其中显示了所有保存的列表。当我选择保存的游戏时,应用程序崩溃并出现错误:android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.google.android.gms.games.snapshot.SnapshotMetadataEntity
这里的代码基本相同https://developers.google.com/games/services/android/savedgames?authuser=3&hl=sl
请帮忙。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
switch (requestCode) {
case RC_LIST_SAVED_GAMES:
if (resultCode == RESULT_OK) {
if (intent != null) {
if (intent.hasExtra(SnapshotsClient.EXTRA_SNAPSHOT_METADATA)) {
// Error occurs here when saved game is selected
SnapshotMetadata snapshotMetadata = intent.getParcelableExtra(SnapshotsClient.EXTRA_SNAPSHOT_METADATA);
assert snapshotMetadata != null;
sCurrentSaveName = snapshotMetadata.getUniqueName();
onLoadFromSnapshot(intent.getParcelableExtra(SnapshotsClient.EXTRA_SNAPSHOT_METADATA));
} else if (intent.hasExtra(SnapshotsClient.EXTRA_SNAPSHOT_NEW)) {
String unique = Long.toString(System.currentTimeMillis());
sCurrentSaveName = "snapshotH-" + unique;
onSaveSnapshot(null);
}
}
}
break;
}
}
这就是 Logcat 中显示的内容
2020-02-07 19:07:07.410 31988-31988/com.positivelymade.homeless2 E/AndroidRuntime: 致命异常: main 进程:com.positivelymade.homeless2,PID:31988 java.lang.RuntimeException:将结果 ResultInfo{who=null, request=9005, result=-1, data=Intent { (has extras) }} 传递到活动 {com.positivelymade.homeless2/com.positivelymade.homeless2.MainActivity 失败}:android.os.BadParcelableException:解组时 ClassNotFoundException:com.google.android.gms.games.snapshot.SnapshotMetadataEntity 在 android.app.ActivityThread.deliverResults(ActivityThread.java:4605) 在 android.app.ActivityThread.handleSendResult(ActivityThread.java:4647) 在 android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49) 在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1948) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:214) 在 android.app.ActivityThread.main(ActivityThread.java:7045) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964) 引起:android.os.BadParcelableException:解组时ClassNotFoundException:com.google.android.gms.games.snapshot.SnapshotMetadataEntity 在 android.os.Parcel.readParcelableCreator(Parcel.java:2855) 在 android.os.Parcel.readParcelable(Parcel.java:2781) 在 android.os.Parcel.readValue(Parcel.java:2684) 在 android.os.Parcel.readArrayMapInternal(Parcel.java:3053) 在 android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:288) 在 android.os.BaseBundle.unparcel(BaseBundle.java:232) 在 android.os.BaseBundle.containsKey(BaseBundle.java:504) 在 android.content.Intent.hasExtra(Intent.java:7923) 在 com.positivelymade.homeless2.MainActivity.onActivityResult(MainActivity.java:222) 在 android.app.Activity.dispatchActivityResult(Activity.java:7759) 在 android.app.ActivityThread.deliverResults(ActivityThread.java:4598) 在 android.app.ActivityThread.handleSendResult(ActivityThread.java:4647) 在 android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49) 在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1948) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:214) 在 android.app.ActivityThread.main(ActivityThread.java:7045) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
【问题讨论】:
-
您找到解决方案了吗?我有同样的问题。
-
我使用 Firebase 构建了一个自定义保存游戏和加载游戏系统。
标签: android google-play google-play-services google-play-games