服务:重启app后再次调用onCreate

时间:2014-06-11 13:36:12

标签: android service

我通过意图传递要处理的数据:

Intent intent = new Intent(getActivity(), LocationService.class);
intent.putExtra....
...
startService(intent);

onCreate方法在浏览应用程序时调用一次,但是当我关闭应用程序并从任务列表中删除时(我检查过,服务仍在运行),然后我再次启动应用程序 - 再次调用onCreate.

来自doc:

  

如果服务尚未运行,系统将首先调用   onCreate(),然后调用onStartCommand()。

更新

  

你在onStartCommand结尾处返回什么常量   方法

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    return super.onStartCommand(intent, flags, startId);
}
  

请发布服务类型和startmode

LocationService extends Service

1 个答案:

答案 0 :(得分:1)

是的,android文档是正确的,它只会在第一次创建时调用服务的onCreate(),然后将所有意图传递给onStartCommand()。

但我已经遇到过这两个谷歌小组讨论可能对你有所帮助

https://groups.google.com/forum/#!topic/android-developers/LtmA9xbrD5Ahttps://groups.google.com/forum/#!topic/android-developers/H-DSQ4-tiac

没什么帮助,但可能有一些兴趣。

享受!