0

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

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

有任何想法吗 ?

谢谢

4

2 回答 2

0

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

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

在我的服务 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;
}
于 2013-05-06T03:36:14.223 回答
0

您可以将数据保存在您的 sharedperference 中,并在您的 ondestory of service 中检查它。

于 2013-05-06T03:38:01.133 回答