我需要将一个对象从一个活动移动到一个服务。这是我在活动方面的尝试。
Waveform waveform = new Waveform();
Intent intent = new Intent(this, StimulationService.class);
Bundle bundle = new Bundle();
bundle.putParcelable("test", (Parcelable) waveform);
intent.putExtras(bundle);
startService(intent);我已将此代码放在服务的onStart()函数中。
Bundle bundle = this.getIntent().getExtras();
if(bundle!=null)
mWaveform = bundle.getParcelable(waveform);我在getParcelable()中遇到了函数"getIntent“和"waveform”的错误。任何帮助或指导我们都将不胜感激。
发布于 2012-01-12 23:59:57
getIntent方法。相反,意图作为参数传递给onStart方法。因此,您应该改用该参数。getParcelable方法接受一个String,在您的测试代码中,该参数应为发布于 2012-01-13 00:05:41
为了将对象放入Bundle中,您需要使该对象Class实现Parcelable。在这里您可以看到如何使用Parcelable Android Parcelable Example。
然后,在您的onStart (Intent intent, int startId)方法上,您将从Intent获取对象:
public void onStart(Intent intent, int startId) {
Wafeform waveform=intent.getExtras().getParcelable("test");
}https://stackoverflow.com/questions/8838028
复制相似问题