如何在Android中停止报警服务?

时间:2013-11-16 12:30:34

标签: android

我已经完成link并执行了 代码。它工作正常。但现在我需要停止服务。我怎样才能做到这一点?我在MyAlarmService中覆盖了stopservice方法,但我没有得到停止服务的地方。我的要求是,一旦打开通知,服务就应该停止。我怎么能这样做?

请帮助我。

1 个答案:

答案 0 :(得分:1)

在你的服务中创建一个BroadcastReciever,在它的onRecieve方法中你可以调用stopSelf(),这将停止服务。现在您需要发送一个广播事件,以便您的服务可以捕获它。您可以通过您的未决意图来实现。在您关注的教程中,您可以看到一旦用户点击通知就会打开MainActivity。 MainActivity打开后,您可以向您的服务发送广播,从而停止您的服务。这是一个很好的方法。另一种方法是在服务中创建一个静态变量:

         public class MyAlarmService extends Service {
             private static MyAlarmService mMyAlarmService;
             public static MyAlarmService getInstace(){
             return mMyAlarmService;
         }
         @Override
         public void onCreate() {    
             mMyAlarmService = this; 
             super.onCreate(); 
         }
         }

public class MyAlarmService extends Service { private static MyAlarmService mMyAlarmService; public static MyAlarmService getInstace(){ return mMyAlarmService; } @Override public void onCreate() { mMyAlarmService = this; super.onCreate(); } }

当用户点击MainActivity中的通知时,您可以调用MyAlarmService.getInstance()。stopSelf();当然你必须先进行一些空值检查。虽然这不是最好的方法,但它应该可以解决问题。