0

我对 Android 提供的服务框架有两个疑问

  1. 我从 Android 文档中阅读了以下内容

    客户端还可以使用 Context.bindService() 来获得到服务的持久连接。如果服务尚未运行(在执行此操作时调用 onCreate()),这同样会创建服务,但不会调用 onStartCommand()。客户端将接收服务从其 onBind(Intent) 方法返回的 IBinder 对象,然后允许客户端调用回服务。只要建立连接,服务就会保持运行(无论客户端是否保留对服务的 IBinder 的引用)。

    这是否意味着我需要在服务上手动调用 OnStartCommand?请如果我的理解是正确的。

  2. 是否允许或来自 onStartCommand 的返回值例如,我可以返回这样的东西吗

    return START_FLAG_REDELIVERY | START_FLAG_RETRY
    

    我不确定这是否有意义。

4

1 回答 1

1
  1. 您可以先调用startService以确保服务正在运行,然后绑定到它。

  2. onStartCommand 的返回值应为以下之一:START_STICKY、START_NOT_STICKY、START_REDELIVER_INTENT 或 START_STICKY_COMPATIBILITY。

在这里阅读它们:http: //developer.android.com/reference/android/app/Service.html#START_NOT_STICKY

于 2012-06-14T13:37:49.653 回答