gpt4 book ai didi

android - 服务中的 START_STICKY_COMPATIBILITY

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:21:05 25 4
gpt4 key购买 nike

什么是 Android 服务方面的 START_STICKY_COMPATIBILITY 标志。文档提到了它

compatibility version of START_STICKY that does not guarantee that onStartCommand(Intent, int, int) will be called again after being killed.

什么是兼容版本?如果它是 START_STICKY 的一个版本,那么为什么不能保证对 onStartCommand() 的调用?为什么有人会在它不能保证 时使用它>onStartCommand() 是否在服务终止后被调用?

最佳答案

onStartCommand 的默认实现:

  public @StartResult int onStartCommand(Intent intent, @StartArgFlags int flags, int startId) {
onStart(intent, startId);
return mStartCompatibility ? START_STICKY_COMPATIBILITY : START_STICKY;
}

mStartCompatibility是这样决定的:

 mStartCompatibility = getApplicationInfo().targetSdkVersion
< Build.VERSION_CODES.ECLAIR;

在1.6版本的Service没有 onStartCommand 的实现,只有 onStart。在 2.1 版本中,他们制作了 onStart已弃用。注意参数的不同,那里引入了 flags

通过这样做,他们将保持与期望旧值的旧系统 (PRE Eclair) 的兼容性,并且他们还支持新系统中的新行为。

关于android - 服务中的 START_STICKY_COMPATIBILITY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39279497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com