- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不知何故,我很难解析 official description START_STICKY
标志:
Constant to return from onStartCommand(Intent, int, int): if this service's process is killed while it is started (after returning from onStartCommand(Intent, int, int)), then leave it in the started state but don't retain this delivered intent. Later the system will try to re-create the service. Because it is in the started state, it will guarantee to call onStartCommand(Intent, int, int) after creating the new service instance; if there are not any pending start commands to be delivered to the service, it will be called with a null intent object, so you must take care to check for this.
This mode makes sense for things that will be explicitly started and stopped to run for arbitrary periods of time, such as a service performing background music playback.
具体来说,以下四个部分没有技术意义(也就是让我去 WTF):
有人对此标志有更好的说明吗?并且,对于阅读本文的所有 Google 员工:wtf?你能在内部迅速修复它吗?
最佳答案
如您所知,Android 中的服务有两种形式:
理解描述的关键是Started 服务
必须管理自己的生命周期,即只有 可以停止服务的组件通过调用 stopSelf()
或通过调用 stopService()
的另一个组件,service 是服务本身。一旦 Started service
启动(onStartCommand()
返回),它就处于启动状态并且不会除非 stopSelf()
或 stopService()
被调用,否则不会停止。因此,如果系统过早地终止服务(stopSelf()
或 stopService()
都未被调用) ,该服务仍被视为处于启动状态。您可以通过在 onStartCommand()
中返回一个标志来告诉(信号)系统如何在终止服务后继续处理该服务。
可能是Extending the Service class末尾给出的START_STICKY
标志的描述你会更清楚。
附言关于“并停止运行??” 混淆,请尝试将其理解为“...明确启动和停止以运行...”
编辑:
另请查看 this question .
关于android - Android 服务的 START_STICKY 标志的精确语义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26080585/
我正在构建一个应用程序,但是在返回 START_STICKY; 行后遇到了一条错误,指出“无法访问代码”;从 if (Config.DEVELOPMENT) { 开始,我不确定如何解决这个问题,以便我
因此,如果我理解正确,START_STICKY 之间的区别和 START_NOT_STICKY是第一个将由系统重新启动,以防它杀死它。 有谁知道当我使用 Process.killProcess(Pro
我希望确保我的服务在后台运行,即使在用户关闭应用程序(从任务管理器或相关应用程序)后也是如此。我正在尝试实现 START_STICKY 但不知道如何正确覆盖 startService 方法以使其正常工
关于使用START_STICKY在 Android 服务中。 官方文档说: if this service's process is killed while it is started (after
我有一个包含长期运行服务的应用程序。我已从该服务的 onStartCommand 方法返回 START_STICKY。现在我想测试 START_STICKY 是否正常工作。那么我如何测试我的服务由于内
Foreground Service 具有非常高的优先级,不太可能被系统杀死,所以在 onStartCommand< 中返回 START_STICKY 有什么意义吗?/? 编辑:这个问题不是关于 ST
我有一个作为网络服务器运行的应用程序。该应用有一项服务是 START_STICKY 我希望该服务始终运行网络服务器(在通知中向用户提供了停止它的选项)。 问题是当我关闭我的应用程序时,服务器会重新启动
我问了一个关于保持服务存活的问题,但我没有找到解决方案,所以我有另一个更简单的问题。 android 文档说如果 android 在低内存状态下返回 onStartCommand 时使用 START_
I have read this answer and it's not useful in my case. 我已经创建了一个简单的服务,它除了记录方法名称外什么都不做。我从我的 Activity
在我的 Android 应用程序中,我有一个服务应该在它被杀死后自动重启。我发现这可以使用 START_STICKY 来完成。 但显然当服务自动重启时, Intent 是null。然而,问题在于 In
我无法理解 android 关于服务的新功能。在 google 文档中,在 oreo 之后,开发人员必须在应用程序处于后台时使用前台服务来启动服务。 我找到了这个描述。 '从 Android O 开始
我正在开发一款播放音乐的 Android 应用。 到目前为止,我已经从负责播放音乐的服务的 onStartCommand 返回了 START_STICKY,因为 Eclipse 中的工具提示指出:“此
在我的服务中,我已返回 START_STICKY 以使我的 Service 在我终止应用程序后再次重启。 我已经测试过,它可以在设备 Samsung、Sony、LG 中使用,但在 Xiaomi 中无法
我见过许多 android 服务示例,其中返回 START_STICKY 用于在启动时启动应用程序,但无论如何我可以对 IntentService 使用相同的示例。我知道 Service 方法在主 U
我的应用程序使用第三方库,该库启动了 START_STICKY 服务。所以即使应用被销毁,服务被杀死,它也会自动重启。 我的问题是,有什么方法可以像更改应用程序一样更改此服务生命周期吗?服务在应用启动
我希望 android 应用程序运行后台服务,每分钟执行一次 HTTP 请求,并在服务器返回特定代码时显示通知。 我这样做了,并将服务器标记为 START_STICKY 以将其保存在内存中。但是几天后
我需要让我的服务始终在后台运行。并使用“startService()”函数启动我的服务。无论应用程序的状态如何,我都不想重新启动服务。 这是我的观察。 START_STICKY > 如果应用程序启动,
我在应用程序中使用服务来监听用户按下他/她的电源按钮的次数。该实现在所有设备上运行良好。但是当我在 Android Kitkat 上测试该应用时,我发现了一些问题。 一旦我将应用程序从最近使用的应用程
START_STICKY 和有什么区别?和 START_NOT_STICKY在android中实现服务时?谁能指出一些标准的例子..? 最佳答案 这两个代码仅在手机内存不足并在服务完成执行之前终止服务
不知何故,我很难解析 official description START_STICKY 标志: Constant to return from onStartCommand(Intent, int,
我是一名优秀的程序员,十分优秀!