Android在GCM上注册设备会导致SERVICE_NOT_AVAILABLE

时间:2014-09-01 11:38:02

标签: android google-cloud-messaging android-notifications

我有几个移动应用程序,都使用相同的代码,相同的清单(不同的软件包名称)和相同的权限,但gcm的项目编号和api密钥不同。我使用相同代码部署的最后一个项目是上周,现在它已经注册了大约20个设备,我从该应用程序收到的最后一个通知是昨晚。今天我检查同一个项目,看看我是否可以再次在gcm上注册我的设备,现在我收到错误消息“SERVICE_NOT_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>

正如我上面提到的,自上周以来,代码工作得非常好,但突然间它停止了工作。

编辑:我不确定到底出了什么问题,但经过几次尝试并得到相同的错误信息后,突然它开始工作得很好,因为预计会有效,有人可以说明?是因为那时服务器很忙吗?如果是,那么我实施什么是解决这个问题的最佳解决方案呢?

1 个答案:

答案 0 :(得分:1)

尝试添加

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

<intent-filter>

并添加以下行:

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

这是为您的应用程序添加GCM服务