我想在我的自定义类型的额外数据中发送一个广播消息,该数据实现了Parcelable。
更多细节:我想在HS上创建一个快捷方式
但是,系统不接受我的自定义命令类型的对象,错误消息:android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.solvek.ussdfaster.entities.Command
当用户点击快捷方式时,此对象将传回我的应用程序。
Intent shortcutIntent = new Intent(this, FormActivity.class);
shortcutIntent.putExtra("command", command); // Note - commmand is my custom object
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, command.getTitle());
Parcelable iconResource = Intent
.ShortcutIconResource
.fromContext(this, R.drawable.ic_launcher);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
sendBroadcast(intent);
答案 0 :(得分:0)
对于Command类,我实现了xml序列化(使用XStream)并将Serial对象序列化为String作为XML,然后传递给core。 不完美的解决方案,但它现在有效。