我有一個服務B以固定的時間間隔發送特定數量的消息。 該服務從其他服務A.叫 在服務質量上使用的代碼是countDownTimer不工作,爲什麼?
@Override
public void onStart (Intent intent,int startid)
{
Toast.makeText(this, "Service A Running onStart", Toast.LENGTH_LONG).show();
Thread MessagesThread = new Thread(new Runnable()
{
public void run()
{
ApplicationPreferences AppPrefs = new ApplicationPreferences(getApplicationContext());
int NumberOfMessagesToSend = Integer.parseInt(AppPrefs.getNumberOfMessagesToSend());
int NumberOfSentMessages;
for (NumberOfSentMessages = 0 ; NumberOfSentMessages < NumberOfMessagesToSend; NumberOfSentMessages++)
{startServiceB();
}
}
});
MessagesThread.start();
}
public void startServiceB()
{
final Intent sendingMessages = new Intent(this, ServiceB.class);
startService(sendingMessages);
}
祝酒詞是跟蹤發生了什麼 在服務B的代碼是作爲遵循
@Override
public void onStart(Intent intent, int startId)
{
super.onStart(intent, startId);
Toast.makeText(getApplicationContext(), "Service B at start ", Toast.LENGTH_LONG).show();
new CountDownTimer(30000,1000)
{
public void onTick (long millisUntilFinished) {}
public void onFinish()
{
showToast();
}
}.start();
}
的showToast()函數爲
public void showToast()
{
Toast.makeText(getApplicationContext(), "Service B in timer", Toast.LENGTH_LONG).show();
}
正如我所說的,我使用的祝酒詞來跟蹤什麼HAPP效果圖創作。問題是運行它時,我得到第一個吐司(服務B在開始)10倍,因此第二個(服務B在計時器中)10倍,因此他們之間沒有時間。
我該如何讓這些吐司每30秒出現一次?
那麼你想每30秒鐘舉杯一杯嗎? – Cata 2011-05-28 20:29:37