相关疑难解决方法(0)

在Android 2.3中重新启动崩溃的服务后,不会调用onStartCommand()

我有Android服务重启的问题.我正在构建针对API版本7并在具有Android 2.3.3的设备上运行.

问题是,当我的服务被系统杀死并稍后重新启动时,只onCreate()调用我的服务.代码输入onStartCommand()未执行.如果我是第一次启动我的应用程序,onStartCommand()通常会执行代码并且一切正常,直到系统终止我的服务,然后服务将无法正确重启.

文档说,onStartCommand()在重新启动服务时始终会调用它.在服务重启的情况下,onStartCommand()应该使用null intent调用.这不是我的情况.

知道为什么会这样吗?

service android restart

9
推荐指数
1
解决办法
7115
查看次数

onStart()和onStartCommand()仍在2.0及更高版本中调用

根据这篇博客文章以及onStartCommand()如果你有服务的文档,你应该实现onStart()和onStartCommand(),而在2.0及更高版本中只调用onStartCommand().似乎情况并非如此,并且在我的服务中正在调用.这是一个问题,因为它试图完成两次工作,所以我不得不在onStart()中添加一个检查,如果操作系统版本<2.0则不做任何事情.这似乎是一个黑客和一个错误.其他人经历过这个或者我可能有错吗?我从样本中剪切并粘贴了代码.

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
  Util.log(mCtx, "AlerterService", "onStartCommand() called");
  handleStart(intent);
  return super.onStartCommand(intent, flags, startId);
}

public void onStart(Intent intent, int startId) {
    Util.log(mCtx, "AlerterService", "onStart() called");       
    handleStart(intent);
    super.onStart(intent, startId);
}
Run Code Online (Sandbox Code Playgroud)

android android-service

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×2

android-service ×1

restart ×1

service ×1