Android 从同一服务的多个实例停止服务
我正在制作一个闹钟应用程序。我使用intent启动服务Android 从同一服务的多个实例停止服务,android,android-intent,service,Android,Android Intent,Service,我正在制作一个闹钟应用程序。我使用intent启动服务 public void Start(View view) { hr = timePick.getCurrentHour(); min = timePick.getCurrentMinute(); service = new Intent(this,MyService.class); Bundle bundle = new Bundle(); bundle.putInt("HOUR", hr);
public void Start(View view) {
hr = timePick.getCurrentHour();
min = timePick.getCurrentMinute();
service = new Intent(this,MyService.class);
Bundle bundle = new Bundle();
bundle.putInt("HOUR", hr);
bundle.putInt("MIN", min);
service.putExtras(bundle);
startService(service);
}
我通过电话停止服务
public void Stop(View view) {
hr = timePick.getCurrentHour();
min = timePick.getCurrentMinute();
Intent myAlarm = new Intent(this, MyAlarm.class);
Intent myService = new Intent(this, MyService.class);
Bundle bundle = new Bundle();
bundle.putInt("HOUR", hr);
bundle.putInt("MIN", min);
myService.putExtras(bundle);
myAlarm.putExtras(bundle);
stopService(myAlarm);
stopService(myService);
}
我可能有多个服务实例正在运行。但是,当我试图通过传递小时和分钟来停止服务的单个实例时,服务的所有实例都将停止。我在MyService服务中使用了alarmmanager。MyAlarm创建通知
我已把闹钟设为11点30分和11点40分。我想删除11.40的闹钟。所以我按下了停止按钮。但是这两个警报都会被取消,这是因为不存在运行同一服务的多个实例的情况,调用
startService(intent)
不会再次启动它只调用onStartCommand
的服务的另一个实例
从文件中
启动服务的多个请求会导致对服务的onStartCommand()的多个相应调用。但是,只需要一个停止服务的请求(使用stopSelf()或stopService())即可停止服务。