Android在GCM上注册设备导致服务不可用

Android在GCM上注册设备导致服务不可用,android,google-cloud-messaging,android-notifications,Android,Google Cloud Messaging,Android Notifications,我有几个移动应用程序,它们都使用相同的代码、相同的清单(不同的包名)和相同的权限,但gcm的项目编号和api密钥不同。我使用相同代码部署的最后一个项目是上周,现在它已经注册了大约20个设备,我从该应用程序收到的最后一个通知是昨晚。今天我检查了同一个项目,看看是否可以在gcm上再次注册我的设备,现在我收到错误消息“SERVICE\u NOT\u AVAILABLE”,然后我检查了几个项目,它们也无法在gcm上注册,并收到相同的错误消息。可能的原因是什么 以下是我的权限清单部分: <uses-

我有几个移动应用程序,它们都使用相同的代码、相同的清单(不同的包名)和相同的权限,但gcm的项目编号和api密钥不同。我使用相同代码部署的最后一个项目是上周,现在它已经注册了大约20个设备,我从该应用程序收到的最后一个通知是昨晚。今天我检查了同一个项目,看看是否可以在gcm上再次注册我的设备,现在我收到错误消息“SERVICE\u NOT\u AVAILABLE”,然后我检查了几个项目,它们也无法在gcm上注册,并收到相同的错误消息。可能的原因是什么

以下是我的权限清单部分:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<permission android:name="vina.kaw.mp2.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />
<uses-permission android:name="vina.kaw.mp2.permission.C2D_MESSAGE" />

并在清单中登记我的接收人,如下所示:

<receiver
    android:name="vina.kaw.notification.GcmBroadcastReceiver"
    android:permission="com.google.android.c2dm.permission.SEND" >
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <category android:name="vina.kaw.mp2" />
    </intent-filter>
</receiver>

正如我上面提到的,代码从上周开始运行得非常好,但突然停止了工作

编辑:我不确定到底是什么地方出了问题,但经过几次尝试并得到相同的错误消息后,它突然开始正常工作,正如预期的那样,有人能解释一下吗?是因为服务器当时很忙吗?如果是,那么对于我来说,解决这个问题的最佳解决方案是什么?

尝试添加

 <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

到您的

并添加以下行:

<service android:name="vina.kaw.mp2.GCMIntentService" />


这是为了将GCM服务添加到您的应用程序中

这些服务是必须包含在清单中的吗?因为我已经更新了我的帖子,它现在运行得很好。啊哈,谢谢你帮我清理它,好吧,它现在正在运行,所以我假设是谷歌服务器正忙,你介意我问你在服务不可用时的工作情况吗?实际上,gcminentservice是针对Intent服务的。这将帮助您从GCM发送的通知重定向到用户到您的应用程序