2016-06-13 31 views
0

我使用意圖從服務與活動進行通信。我使用intent.putExtra(Tag, message);如果我有一個錯誤或某事。 在活動我可以得到這些額外像下面讀出捆綁內容

  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語句,但我認爲有一種方法可以確定哪些條目具有數據。有沒有辦法?

+0

我會考慮使用有界服務。 – CodeCody

+0

我之前嘗試過,但它的服務由它自己運行,沒有活動。一旦這個活動變得輕鬆下來,我無法再次將運行服務綁定到 – user1390816

回答

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

哦,這是一個非常好的主意!謝謝! – user1390816