我使用意图从服务到活动进行通信。如果我有错误,我会使用type="text"
。
在活动中我可以获得这些额外内容,如下面的
intent.putExtra(Tag, message);
但只有一个有数据。我现在可以为每个条目创建一个If语句,但我认为有一种方法可以找出哪个条目有数据。有办法吗?
答案 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);