使第三方类别可拆分的最佳实践?

时间:2018-09-17 11:25:32

标签: android parcelable urbanairship.com

我使用的是推送通知第三方解决方案(特别是Urban Airship推送通知库中的RichPushMessage类)。我已经创建了一个包含RichPushMessage字段的分发包。我需要它来实现Parcelable。我不能继承RichPushMessage的子类,因为其构造函数是私有的。如何最好地使此类可拆分?

1 个答案:

答案 0 :(得分:1)

即使您可以对其进行子类化,您也无法创建RichPushMessage,因为这是由Urban Airship SDK处理的。

我不确定是否可以按照您的要求去做,但是这里有一些选择:

1)将消息ID存储在分发包中:

// Put it into the bundle
Bundle bundle = new Bundle();
bundle.putString(MESSAGE_ID_KEY, message.getMessageId());

// Pull it out of the bundle
String messageId = bundle.getString(MESSAGE_ID_KEY);
RichPushMessage message = UAirship.shared().getInbox().getMessage(messageId);

2)创建一个包装RichPushMessage的类,您可以将其打包。