Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 区分onStartCommand的调用_Android_Service - Fatal编程技术网

Android 区分onStartCommand的调用

Android 区分onStartCommand的调用,android,service,Android,Service,我正在编写一个记录服务,它可以适当地获取意图和功能中的附加数据。我使用START\u REDELIVER\u INTENT,以便在每个START命令上使用与原始意图相同的设置开始录制,但我必须知道当前调用onStartCommand是由于显式startService还是进程崩溃 因此,我的问题是如何区分由startService请求引起的onStartCommand调用和系统在服务崩溃\关闭后调用的onStartCommand调用,而没有显式的stopSelf\stopService?查看onS

我正在编写一个记录服务,它可以适当地获取意图和功能中的附加数据。我使用START\u REDELIVER\u INTENT,以便在每个START命令上使用与原始意图相同的设置开始录制,但我必须知道当前调用onStartCommand是由于显式startService还是进程崩溃


因此,我的问题是如何区分由startService请求引起的onStartCommand调用和系统在服务崩溃\关闭后调用的onStartCommand调用,而没有显式的stopSelf\stopService?

查看onStartCommand的flags参数

如果为0,则为“正常”启动

如果标志包含START_FLAG_REDELIVERY,则在终止并重新启动服务后,它是重新交付的意图

如果标志包含START_FLAG_RETRY,则可能是在崩溃后重新尝试的意图,但可能存在其他情况