我有一些條件調用從我的代碼啓動相同的服務與不同的數據值通過捆綁傳遞到該服務。 當我檢查只有一個條件滿足,服務工作正常的所有條件。 但是當兩個或兩個以上的條件匹配時,這些調用這個相同的服務,但捆綁中的數據值不同。 問題是在滿足這種情況時,第一次調用發送的值不會被替換爲第二個條件以啓動相同的服務。 所以服務是錯誤地迴應。Android服務 - startService被多次調用,並導致值混合...
正是這樣
if(some cond)
{
some values in serivce intent bundle.startService(serviceintent1);
}
if(some cond)
{
some data in intent bundle.startService(serviceintent1);
}
在兩個條件都滿足,那麼調用startService兩次。 但我在第二個條件startService調用中從第一個條件獲取值。
幫我解決這個問題...
你可以發佈你的代碼,以瞭解問題是什麼? –
你可以使用if-else-if語句嗎?或者用一個IntentService替換你的服務,這個IntentService會將要執行的請求排隊在一個工作線程中? –