Android-如何将数据发送到服务的onDestroy方法

Android-如何将数据发送到服务的onDestroy方法,android,Android,我有一个通过活动中的按钮运行的服务。此服务注册广播接收器。我知道在onStartCommand方法启动时从活动获取数据的方法(bundle=intent.getExtras()) 我的问题:如果我想在onDestroy方法启动时从活动中获取数据,我该怎么办?换句话说:我想注意在调用onDestroy方法时用户选中了哪些复选框,因为操作取决于复选框 有什么想法吗 谢谢你,不用调用stopService,你可以调用startService并传入一个布尔值“shutdown”来等于true和你想要传递

我有一个通过活动中的按钮运行的服务。此服务注册广播接收器。我知道在onStartCommand方法启动时从活动获取数据的方法(bundle=intent.getExtras())

我的问题:如果我想在onDestroy方法启动时从活动中获取数据,我该怎么办?换句话说:我想注意在调用onDestroy方法时用户选中了哪些复选框,因为操作取决于复选框

有什么想法吗


谢谢你,不用调用stopService,你可以调用startService并传入一个布尔值“shutdown”来等于true和你想要传递的其他信息,在onStart命令中,你可以检查“shutdown”标志并处理其他传入信息,然后调用stopSelf()。示例代码

Intent intent = new Intent(this, MyService.class);
intent.putExtra("shutdown", true);
intent.putExtra(otherdata);
startService(intent);  
在MyService onstart命令中

@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
        if (intent != null)
        {
            // get the data and process
            if (intent.getBooleanExtra("shutdown", false);
            {
                stopSelf();
            }
          }
    return START_STICKY;
}

您可以将数据保存在sharedperference中,并在您的ondestory服务中进行检查。

有些事情听起来很奇怪。为什么服务关心选中了哪些复选框?服务如何具有复选框?难道这些信息不应该按原意发送吗?当你说“操作”时,你是指服务做什么?服务可以注册(用一个按钮)3个广播接收器(取决于activit中的3个复选框)。我在这个活动中还有一个“停止”按钮。当我点击右边的复选框并点击这个按钮时,我停止了服务,然后我进入了onDestroy方法。我想让这个方法在服务类中知道我的活动中选中了哪些复选框。这更清楚吗?正如您所说,我使用Intent将数据发送到onStartCommand方法。stopservice方法在其声明中不包含意图。