Android GCM SERVICE_NOT_AVAILABLE

2020-06-03 01:26发布

问题:

I was trying to set this example: https://code.google.com/p/gcm/source/browse/#git%2Fgcm-client up and running.

The GoogleAPI project has been successfully created, according to the guide: http://developer.android.com/google/gcm/gs.html

However, I have the following problem: on some devices I get SERVICE_NOT_AVAILABLE no matter what.

W/System.err: java.io.IOException: SERVICE_NOT_AVAILABLE W/System.err: at com.google.android.gms.gcm.GoogleCloudMessaging.register(Unknown Source)

Some statistics:

  • Nexus 7, android 4.2.2: GCM example works perfectly
  • Nexus 4, android 4.2: GCM example works perfectly
  • Nexus S, android 4.2.2: GCM example works perfectly
  • Samsung Galaxy 3: SERVICE_NOT_AVAILABLE in 100% cases
  • Samsung Galaxy, android 2.3.6: SERVICE_NOT_AVAILABLE in 100% cases
  • Motorola Xoom, android 4.1.2: SERVICE_NOT_AVAILABLE in 100% cases
  • HTC Desire HD, android 2.3: SERVICE_NOT_AVAILABLE in 100% cases

It's the same code, the same apk file, various google accounts. I tried to switch back to GCMRegistrar methods and they actually work. So the question is: are new GCM methods in sort of beta? How to make them work on other devices, not just 'pure' Google Android devices?

Update: In fact, I found the solution here

回答1:

Sometimes it happened due to time syn with GCM. Please have a look at the time, if it is correct. If possible then reset.

Two more thing to check, if you are using a emulator then please make sure that you have the google api running on the emulator. and second gcm.jar is included on your project.



回答2:

Check your phone has an active network connection. I had this issue and then i realized that my test device disconnected from the wifi :)



回答3:

this is super stupid, but I have same error because I had "restrict app background data" option enabled for google services on my xperia)