如何WhatsApp的服务被重新启动,即使我强行停止应用程序吗?(how does whatsapp

2019-06-25 20:05发布

关闭>力,APPX被关闭,我再也看不到APPX为正在运行的服务 - 我正在运行的WhatsApp(我们可以称之为APPX从现在起)在设备A.我去管理应用程序。

现在,5分钟后,我送从另一个设备的APPX(设备B)到设备A APPX(我们把它打死了一个)的消息。 这里有2种情况我测试:

  • 与Android 2.1设备中的:它从来没有收到该消息,因此我们可以说,没有任何的APPX服务得到了重新启动。 如果手动用户重新启动该应用仅接收该消息。

  • 采用Android 2.3.6设备A:对一些神奇的原因,不管它是多长时间以来APPX被杀了,只要我们从设备B发送消息 - >设备得到消息,因此,APPX公司的服务被重新启动。 注:所有APPX被关闭,没有收到任何通知的时候,我没能看到APPX任何正在运行的服务管理应用程序,所以这意味着这种神奇的服务,即会在其接收消息/重启通知

我知道这听起来有些不可思议,而且很多人会说这是不可能的,但同样,这已经在这两个设备进行测试。

我试图做到这一点相同的行为,所以任何帮助将不胜感激它。

Answer 1:

你向上/向下票之前,这个答案请考虑到,答案是现在的近3岁(2015年5月)发了言,事情可能会改变!

我不认为这是一些神奇在这里会发生什么! 这只是Android的C2DM(参见: https://developers.google.com/android/c2dm/ ),而应用程序有一个注册Receiver传入的推送通知,并得到此消息唤醒。 Android的C2DM的是可与Android 2.2 /,这就是为什么你不能看到你的设备与Android 2.1和运行在相同的行为的原因。

顺便说一句:正如你所看到的,是C2DM自6月26日弃用,2012年因此,不是C2DM,应该使用GCM(见: http://developer.android.com/guide/google/gcm/gs.html )

有用的点评:GCM需要提供互联网连接。 你可以使用任何其他广播接收器,如SMSReceiver通过传递此限制。



Answer 2:

Android 3.1(API 12)开始, 如果一个应用程序强制停止它不会重启,直到用户手动再次运行应用程序

即使该应用程序包含这会发生Service或主动BroadcastReceiver

你可以找到的官方文档在这里 。



Answer 3:

我没有关于WhatsApp的服务理念。

但它有可能是后强行停止应用程序,重新启动应用程序的服务。

我使用START_STICKY服务我chatApp。 我必须做同样的事情,所以我用START_STICKY服务,所以当我的应用程序杀死或设置强行停止,几秒钟我的服务中获得重新启动后,我可以登录到我的XMPP服务器并获取传入消息。



Answer 4:

它什么神奇这里APPX使用通过推的Android GCM平台通知https://developer.android.com/google/gcm/index.html在GCM的应用注册了braodcast reciever与广播接收机上得到推送通知启动服务。 Android的GCM取决于可用在Android 2.2及以后,谷歌播放服务,因此你没有看到2.1设备上的消息



文章来源: how does whatsapp service gets restarted even if i force stop app?