2012-06-28 2 views
21

장치 A에서 whatsapp (지금부터 appX라고 부를 수 있음)를 실행 중입니다. 응용 프로그램 관리 -> 강제 종료로 인해 appX가 닫히고 더 이상 appX가 서비스를 실행하지 않습니다.앱을 강제 종료해도 whatsapp 서비스가 다시 시작 되나요?

이제 5 분 후에 다른 장치의 appX (장치 B)에서 장치 A appX (우리가 죽인 장치)로 메시지를 보냅니다. 안드로이드 2.1

  • 장치 A : : 여기 내가 시험이 개 시나리오입니다 그것은 메시지를 수신하지 그러므로 우리는 appX 서비스 중 누구도 다시 시작하지있어 말할 수 있습니다. 수동으로 사용자가 앱을 다시 시작하는 경우에만 메시지를받습니다. 안드로이드 2.3.6와

  • 장치 A : 마법 이유없이이 appX가 살해 된 이후 얼마나 빨리 우리가 장치 B에서 메시지를 보낼 수 없기 때문에 -> 장치 A가 메시지를 가져옵니다 따라서는 appX의 서비스가 다시 시작됩니다. 참고 : appX가 닫히고 알림 없이도 응용 프로그램 관리에서 appX의 실행중인 서비스를 볼 수 없었기 때문에이 마법 서비스는 메시지/알림을 받자 마자 다시 시작됩니다.

나는 이상하게 들리 겠지만 많은 사람들이 이것이 불가능하다고 말하지만 다시이 두 장치에서 테스트를 마쳤습니다.

나는이 같은 행동을하기 위해 노력하고있다. 그래서 어떤 도움을 주시면 감사하겠습니다. 이 대답은 대답은 지금 거의 3 세임을 고려하시기 바랍니다 당신을 위/아래 - 투표하기 전에

+0

Android 4.4.4에서이 기능을 사용해 보았습니다. WhatsApp form apps-> force stop을 중단했습니다. 이 후에 나는 어떤 메시지도 자동적으로받지 못했다. WhatsApp를 수동으로 시작하여 메시지를 가져와야했습니다. 이것은 2.3.6에서만 발생합니까? – RocketRandom

답변

45

물건 (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와 같은 다른 브로드 캐스트 리시버를 사용할 수 있습니다. 응용 프로그램이있는 경우 안드로이드 3.1 (API 12)에서 시작

+1

최고의 답변! 정확한 답변 herom 주셔서 감사합니다! – cesarmax

+4

반갑습니다. 이 답변이 도움이 되었다면 올바른 답으로 표시 (수표를 클릭)하여이 질문을 닫을 수 있도록 표시하십시오.) – herom

+1

글쎄, GCM을 구현했지만 서비스를 종료했을 때 푸시 알림을받지 못하기 때문에 서비스를 종료하고 여전히 메시지를 수신하더라도 GCM이 도움이된다고 생각하지 않습니다. – Hunt

12

, 은 사용자가 수동으로 다시 응용 프로그램을 실행할 때까지 다시 시작하지 않습니다 힘이-중단했다.

이 경우 앱에 Service 또는 활성 BroadcastReceiver이 포함되어 있어도 이러한 현상이 발생합니다.

공식 문서 here을 찾을 수 있습니다.

+1

동의하는 가장 좋은 해결책 중 하나. –

+0

이 [솔루션] (http://stackoverflow.com/questions/17768932/service-crashing-and-restarting#18199749)이 내 하루를 보냈습니다. –

3

whatsApp 서비스에 대한 아이디어가 없습니다.

그러나 강제 종료 응용 프로그램을 실행 한 후 응용 프로그램의 서비스를 다시 시작할 수 있습니다.

나는 내 chatApp에 ​​START_STICKY 서비스를 사용합니다. 나도 같은 일을해야하므로 START_STICKY 서비스를 사용하므로 내 앱이 강제 종료되거나 강제 종료 될 때 몇 초 후에 서비스가 다시 시작되고 내 xmpp 서버에 로그인하여 수신 메시지를받을 수있다.

+1

START_STICK 롤리팝 버전 서비스가 다시 시작되지 않습니다. 모두 작동합니다. –

1

그다지 놀라운 것은 없습니다. appX는 GCM 플랫폼에서 안드로이드 GCM 플랫폼 https://developer.android.com/google/gcm/index.html을 통해 푸시 알림을 사용합니다. 앱은 브로드 캐스트 수신자를 등록하고 브로드 캐스트 리시버는 푸시 알림 수신에 대한 서비스를 시작합니다. Android GCM은 Android 2.2 이상에서 사용할 수있는 Google Play 서비스에 의존하므로 2.1에서 메시지를 보지 못했습니다.

관련 문제