如何停止以自定义意图启动的Android服务

如何停止以自定义意图启动的Android服务,android,android-studio,android-intent,service,Android,Android Studio,Android Intent,Service,我在androidstudio中构建了一个名为mserviceextend服务的类,我启动了如下服务:-在与按钮关联的onClick中- Intent serviceIntent = new Intent(getApplicationContext(), MService.class); serviceIntent.putExtra("ID", "1"); startService(serviceIntent); 服务onStartCommand方法

我在androidstudio中构建了一个名为mserviceextend服务的类,我启动了如下服务:-在与按钮关联的onClick中-

Intent serviceIntent = new Intent(getApplicationContext(), MService.class);
serviceIntent.putExtra("ID", "1"); 
startService(serviceIntent);

服务
onStartCommand
方法运行良好

问题是我不知道如何在单击按钮时结束服务,我尝试这样做:

stopService(new Intent(getApplicationContext(), MService.class));
在onClick方法中,
onDestroy
已暂停,但服务仍在运行 我怎样才能阻止它

在onClick方法中,onDestroy暂停,但服务仍在运行

如果调用了服务的
onDestroy()
,则之后该服务将不运行。您的代码可能仍在运行


如果你在服务中启动了一些东西,比如后台线程,你的工作就是停止它们并清理它们,通常是在你的
ondestory()方法中。

我能问一个愚蠢的问题吗?如果我有多个用户以不同的用户名使用该应用程序,并且我有一个服务类。。如果其中一个用户停止了服务,它将不会停止其他用户的服务。我说得对吗?我是这个领域的新手,thanks@lolowa:如果说“多个用户”,您是指Android设备上的多个帐户。。。我还没有在服务环境中使用它,因此我不能完全确定该行为是什么。如果“多用户”是指你的应用程序有自己的用户概念,并允许应用程序在用户之间切换。。。从操作系统的角度来看,这并不重要。服务是自然的单例,所以你的应用程序只有一个服务实例。