【问题标题】:After rotation change second instance of service轮换后更改第二个服务实例
【发布时间】:2014-11-24 20:28:02
【问题描述】:

我的应用是一个视频播放器,可以从 nas 流式传输视频。因此视频也在后台播放,我运行了一个启动媒体播放器的服务。 因此,每次活动开始时,我都必须绑定到服务,才能显示视频。这在旋转更改时也是必需的。然后当我想绑定它时,有时我不会绑定到已经运行的服务,但它会创建一个新实例。所以有两个服务实例。

是的,通常服务应该只能被实例化一次,但在我的情况下,有时肯定有 2 个实例...:/

如何防止这种情况发生?有人遇到过同样的问题吗?


编辑: 服务启动并绑定以下代码:

意图 serviceIntent = new Intent(getApplicationContext(), MediaPlayerService.class); getApplicationContext().startService(serviceIntent);

意图 serviceIntent = new Intent(getApplicationContext(), MediaPlayerService.class); getApplicationContext().bindService(serviceIntent, mServiceConnection, Context.BIND_AUTO_CREATE);

【问题讨论】:

  • 你能把方法贴在你创建对象的activity中吗?
  • 我已编辑并将其添加到我的问题中;)

标签: android service multiple-instances


【解决方案1】:

抱歉,我不清楚,因为我对您在活动生命周期中执行此操作的哪个方法感兴趣。有些方法称为方向更改。这个其他答案应该为您指明正确的方向。我希望这会有所帮助。

Which activity method is called when orientation changes occur?

【讨论】:

  • 对不起。我在 onCreate 中创建我的服务。嗯,但是多次实例化服务不应该,应该有一个解决方案。但我会考虑你链接的答案。
猜你喜欢
  • 1970-01-01
  • 2012-11-08
  • 2016-04-07
  • 2018-11-02
  • 2015-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多