Пользовательский объект Parcelable передается в ядро - PullRequest
0 голосов
/ 06 октября 2010

Я хочу отправить широковещательное сообщение с намерением в дополнительных данных моего пользовательского типа, который реализует 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);

1 Ответ

0 голосов
/ 06 февраля 2011

Для класса Command я реализовал сериализацию xml (используя XStream) и сериализовал объект Command в String в виде XML, а затем передал ядру.Не идеальное решение, но пока оно работает.

...