我有一项由活动中的按钮运行的服务。该服务注册一个广播接收器。我知道在 onStartCommand 方法启动时从活动中获取数据的方法(bundle bundle = intent.getExtras());
我的问题:如果想在 onDestroy 方法启动时从活动中获取数据,我该怎么办?换句话说:我想注意在调用 onDestroy 方法时用户检查了哪些复选框,因为这些操作取决于复选框。
有任何想法吗 ?
谢谢
我有一项由活动中的按钮运行的服务。该服务注册一个广播接收器。我知道在 onStartCommand 方法启动时从活动中获取数据的方法(bundle bundle = intent.getExtras());
我的问题:如果想在 onDestroy 方法启动时从活动中获取数据,我该怎么办?换句话说:我想注意在调用 onDestroy 方法时用户检查了哪些复选框,因为这些操作取决于复选框。
有任何想法吗 ?
谢谢
您可以调用 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;
}
您可以将数据保存在您的 sharedperference 中,并在您的 ondestory of service 中检查它。