假设我的服务的startcommand方法如下所示
public int onStartCommand(final Intent intent, int flags, final int startId) {
final String s= intent.getStringExtra("time"); // s contains some time in hh:mm:ss format
Runnable r=new Runnable{
public void run(){
String[] parts = s.split(":");
Calendar current = Calendar.getInstance();
//wait till current time is same as time received from intent
while(!(Integer.parseInt(parts[0]) == current.get(Calendar.HOUR_OF_DAY) &&
Integer.parseInt(parts[1]) == current.get(Calendar.MINUTE) ) )
{ current=Calendar.getInstance(); }
// do something after loop
}
Thread t= new Thread(r);
t.start();
return START_NOT_STICKY;
}
现在如果我在我的活动中多次调用startService,我发现创建了多个线程。 假设我用不同的意图调用了两次startservice,并且在我的程序中的某些时候我需要更改第一个线程的while循环中的条件,我该怎么做?
答案 0 :(得分:0)
我需要在while循环中更改条件。
那么,你如何将条件封装在The price of $10 must be greater than cost of $20.
中,并将其作为lambda传递给服务?