读出Bundle内容

时间:2016-06-13 19:07:02

标签: android bundle

我使用意图从服务到活动进行通信。如果我有错误,我会使用type="text"。 在活动中我可以获得这些额外内容,如下面的

intent.putExtra(Tag, message);

但只有一个有数据。我现在可以为每个条目创建一个If语句,但我认为有一种方法可以找出哪个条目有数据。有办法吗?

1 个答案:

答案 0 :(得分:1)

如果只出现一个错误,我会考虑将ERROR_TYPE int作为一个额外传递,将ERROR_MESSAGE字符串作为另一个额外传递,因此您不必编写这么多if语句。例如:

int type = intent.getIntExtra("error_type"); // 1, 2, or 3
String message = intent.getStringExtra("error_message");

要回答您的问题,您可以将服务放在一个额外的位置,指示要使用的错误消息密钥。例如:

// In Service
intent.putExtra("error_key", "Message_Error_1"); // error 1 has the message!

// In Activity
String key = intent.getStringExtra("error_key");
String actualErrorMessage = intent.getStringExtra(key);