サービスの起動方法
通常の起動:アクティビティの対応する位置に書き込みます
startService(new Intent(getBaseContext(),TestService.class));//启动服务
stopService(new Intent(getBaseContext(),TestService.class));//关闭服务
TestServiceには、onCreate、onStartCommand、およびonDestroyの3つのメソッドがあります。
oncreateは、サービスが作成されたとき、つまりサービスが初めて開始されたときにのみ呼び出されます。
onstartCommandメソッドは、サービスが開始されるたびに呼び出されます。つまり、サービスが繰り返し開始されると、onstartCommandメソッドのみが呼び出されます。
onDestroyは、サービスが停止したときに呼び出されます
バインド開始:
ServiceConnection serviceConnection=new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
Log.d("test", "onServiceConnected: ");
}
@Override
public void onServiceDisconnected(ComponentName name) {
Log.d("test", "onServiceDisconnected: ");
}
};
bindService(new Intent(this,AutoRefreshService.class),serviceConnection,BIND_AUTO_CREATE);
onCreateは通常の起動と同じですが、最初の起動呼び出しのみです
バインディングスタートアップはonStartCommand()ではなくonBind()を呼び出し、複数のバインディングはonbind()とonServiceconnected()を繰り返し呼び出しません
サービスにバインドされたアクティビティがスタックからポップアウトすると(つまり、finish())、サービスは自動的にバインドを解除して停止します
したがって、サービスのライフサイクルは次のとおりです。onCreate-> onStartCommand / onBind-> onDestroy