Android:点击我的通知后如何停止服务

时间:2015-03-06 23:24:50

标签: android notifications

当我点击通知然后此通知可以停止服务时,有什么办法吗?我的通知是我的服务。

每次点击我的通知时,活动都会运行onResume()方法。我无法在此onResume()中停止此操作,因为我有另一个通知。

我的应用程序流程是:通知有助于告诉用户它现在正在倒计时,当时间到了,我会开始另一个通知告诉用户你的时间到了。所以,我不能在“timeup”通知之前停止服务。我的想法是,当用户点击“timeup”通知时,我就可以停止服务了。

我能这样做吗?

1 个答案:

答案 0 :(得分:0)

应用程序的生命周期将OnResume置于每次启动的开始,因此最好的方法是为每个新通知分配一个新的请求代码,并为您提供一个您想要识别操作的通知。如果收到操作,您可以停止该服务。如果不是,则应用程序将能够区分它是不同的通知并相应地做出响应。

...

    Intent intent = new Intent(this, TARGET.class);
    intent.setAction("CUSTOM_ACTION");
    PendingIntent pIntent = PendingIntent.getService(this,
            (int) System.currentTimeMillis(), intent,
            PendingIntent.FLAG_UPDATE_CURRENT);

...

@Override
public void onResume(){
    super.onResume();
    if (getIntent().getAction().equals("CUSTOM_ACTION")) {
        // kill service
    } else {
        // other stuff
    }
}