读出捆绑内容

Read out Bundle content

我使用意图从服务到 activity 进行通信。如果出现错误或其他问题,我会使用 intent.putExtra(Tag, message);。 在 Activity 中,我可以获得这些附加功能,例如以下

            String message_error_1 = intent.getStringExtra("Message_Error_1");
            String message_error_2 = intent.getStringExtra("Message_Error_2");
            String message_error_3 = intent.getStringExtra("Message_Error_3");

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

如果只有一个错误,我会考虑将 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);