Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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 可以在App.onCreate之前调用Service.onCreate吗?[安卓]_Android_Firebase_Firebase Cloud Messaging_Android Service - Fatal编程技术网

Android 可以在App.onCreate之前调用Service.onCreate吗?[安卓]

Android 可以在App.onCreate之前调用Service.onCreate吗?[安卓],android,firebase,firebase-cloud-messaging,android-service,Android,Firebase,Firebase Cloud Messaging,Android Service,我有一个简单的Android进程,带有一个服务(特别是FirebaseMessagingService)和一个扩展应用程序的自定义应用程序类 几乎总是在Service.onCreate()之前调用App.onCreate(),但我惊讶地发现,在一次运行中,调试日志显示Service.onCreate()是首先调用的,而实际上Service.onNewToken()也是在App.onCreate()之前调用的 这将导致我的应用程序出现故障,因为它是连接各种广播接收器和共享首选项侦听器的应用程序,在

我有一个简单的Android进程,带有一个服务(特别是FirebaseMessagingService)和一个扩展应用程序的自定义应用程序类

几乎总是在Service.onCreate()之前调用App.onCreate(),但我惊讶地发现,在一次运行中,调试日志显示Service.onCreate()是首先调用的,而实际上Service.onNewToken()也是在App.onCreate()之前调用的

这将导致我的应用程序出现故障,因为它是连接各种广播接收器和共享首选项侦听器的应用程序,在此之前接收消息传递令牌会导致它无法正确使用

这在我的开发环境中发生过一次,当时我卸载了应用程序,然后通过Android studio重新运行它


在调用任何其他服务和活动之前调用App.onCreate()是否有任何官方保证?如果是这样,我如何协调我的观察结果?

能否检查日志的时间戳是否与onCreate的时间戳完全相同。基本上,只有ContentProviders可以在应用程序之前初始化,而不是活动或服务。@RahulKumar抱歉,我应该复制/粘贴日志。在应用程序的日志消息之前,有2条来自服务的日志消息,因此这两条消息的时间戳不太可能完全相同。感谢您确认,首先初始化服务听起来不合适。请编辑您的问题以包含日志。从您之前的评论来看,您的日志似乎没有包含时间戳。您如何知道这些与服务相关的日志消息不是来自应用的早期执行(已调用
app.onCreate()
)?您能否检查日志的时间戳是否与onCreate完全相同。基本上,只有ContentProviders可以在应用程序之前初始化,而不是活动或服务。@RahulKumar抱歉,我应该复制/粘贴日志。在应用程序的日志消息之前,有2条来自服务的日志消息,因此这两条消息的时间戳不太可能完全相同。感谢您确认,首先初始化服务听起来不合适。请编辑您的问题以包含日志。从您之前的评论来看,您的日志似乎没有包含时间戳。您如何知道这些与服务相关的日志消息不是来自应用的早期执行(已经调用了
app.onCreate()
)的应用?