2010-10-06 6 views
0

Je veux envoyer un message de diffusion avec intention dans les données supplémentaires de mon type personnalisé qui implémente Parcelable.Objet parcelable personnalisé passé au noyau

En plus de détails: Je veux créer un raccourci sur le HS Cependant le système n'accepte pas l'objet de mon type de commande personnalisé, message d'erreur: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.solvek.ussdfaster.entities.Command Cet objet sera transmis de nouveau à mon application lorsque l'utilisateur clique sur le raccourci .

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); 

Répondre

0

Pour la classe I de commande mis en œuvre sérialisation XML (en utilisant XStream) et de l'objet de commande sérialisé à chaîne en XML, puis passé à cœur. Pas une solution parfaite mais ça marche pour le moment.

Questions connexes