【问题标题】:Android Service Framework安卓服务框架
【发布时间】:2013-11-19 05:04:42
【问题描述】:

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

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

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

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

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

    return START_FLAG_REDELIVERY | START_FLAG_RETRY
    

    我不确定这是否有意义。

【问题讨论】:

    标签: android android-service


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-10
      • 2010-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多