首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将对象从一个活动移动到服务

将对象从一个活动移动到服务
EN

Stack Overflow用户
提问于 2012-01-12 23:54:09
回答 2查看 234关注 0票数 0

我需要将一个对象从一个活动移动到一个服务。这是我在活动方面的尝试。

代码语言:javascript
复制
      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()函数中。

代码语言:javascript
复制
        Bundle bundle = this.getIntent().getExtras();
        if(bundle!=null)
        mWaveform = bundle.getParcelable(waveform);

我在getParcelable()中遇到了函数"getIntent“和"waveform”的错误。任何帮助或指导我们都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-12 23:59:57

  1. 服务没有getIntent方法。相反,意图作为参数传递给onStart方法。因此,您应该改用该参数。
  2. getParcelable方法接受一个String,在您的测试代码中,该参数应为
票数 0
EN

Stack Overflow用户

发布于 2012-01-13 00:05:41

为了将对象放入Bundle中,您需要使该对象Class实现Parcelable。在这里您可以看到如何使用Parcelable Android Parcelable Example

然后,在您的onStart (Intent intent, int startId)方法上,您将从Intent获取对象:

代码语言:javascript
复制
  public void onStart(Intent intent, int startId) {
        Wafeform waveform=intent.getExtras().getParcelable("test");
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8838028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档