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

时间:2013-05-06 02:42:58

标签: android

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

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

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:0)

您可以调用startService并传入一个布尔值“shutdown”,使其等于true以及您希望传递的其他信息,而在onStartCommand中可以检查“shutdown”标志并处理另一个传递。信息,然后调用stopSelf()。示例代码

Intent intent = new Intent(this, MyService.class);
intent.putExtra("shutdown", true);
intent.putExtra(otherdata);
startService(intent);  
MyService onStartCommand

中的

@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;
}

答案 1 :(得分:0)

您可以将数据保存在共享首选项中,并在服务的ondestroy中进行检查。