关于service多次调用onStartCommand只会启动一个service,但是会多次执行该方法,所以不要把能改变业务状态的方法写入内部
public class MyService extends Service {
private int count=0;
private boolean isStart=false;
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
Log.i("wws","启动?");
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i("wws","启动了");
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onCreate() {
super.onCreate();
isStart=false;
new Thread(){
@Override
public void run() {
while (!isStart){
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
count++;
Log.i("wws", String.valueOf(count));
}
}
}.start();
}
@Override
public void onDestroy() {
super.onDestroy();
Log.i("wws", "销毁");
isStart=true;
}
}