Java Android GCM注册失败。为什么?

Java Android GCM注册失败。为什么?,java,android,push-notification,google-cloud-messaging,Java,Android,Push Notification,Google Cloud Messaging,我试图使用GCM在我的应用程序中提供推送通知。我调用了gcmregistar.register(这个,发送者ID),但我得到了一个错误 我的清单文件: <receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter>

我试图使用GCM在我的应用程序中提供推送通知。我调用了
gcmregistar.register(这个,发送者ID)
,但我得到了一个错误

我的清单文件:

   <receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
            <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
            <category android:name="com.salamworld"/>
        </intent-filter>
    </receiver>
    <service android:name=".GCMIntentService"/>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<permission android:name="my.package.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
<uses-permission android:name="my.package.permission.C2D_MESSAGE"/>
<uses-sdk android:minSdkVersion="8"/>

当您的设备中没有Google帐户时,会出现此例外情况

-手机上没有谷歌账户。机器人 应用程序应要求用户打开帐户管理器并添加 谷歌账户。固定在设备侧


事实上,我正在模拟器上运行。我应该做什么?您最好在设备中尝试,因为默认情况下,您的模拟器没有配置为拥有google帐户@servus libertatem您可以在模拟器中添加Google帐户。确保你已经用谷歌API创建了一个模拟器(不管API级别如何)。但是如果没有谷歌帐户,应用程序怎么能从play store下载呢
public class GCMIntentService extends GCMBaseIntentService{

    public GCMIntentService() {
        super();
    }

    @Override
    protected void onMessage(Context context, Intent intent) {
    }

    @Override
    protected void onError(Context context, String errorId) {
    }

    @Override
    protected void onRegistered(Context context, String registrationId) {
        Log.d("@R@", registrationId);
    }

    @Override
    protected void onUnregistered(Context context, String registrationId) {
    }
}