Android GCM instanceID.getToken() хвърля изключение TIMEOUT на Gingerbread

Както показва заглавието, получавам TIMEOUT изключение, когато се опитвам да получа токен с помощта на Google Cloud Messaging на API 10 емулатор. Добавих акаунта си в Google на устройството, проверих дали „Синхронизиране“ е ВКЛЮЧЕНО, също добавих <action android:name="com.google.android.c2dm.intent.REGISTRATION"/> в манифеста в приемника и все още не мога да разбера какво причинява това:

11-25 17:35:00.896 29750-29774/com.example.alexis.myapplication W/InstanceID/Rpc: No response android.os.ConditionVariable@b667bc18
11-25 17:35:00.896 29750-29774/com.example.alexis.myapplication E/MYAPP: TIMEOUT

Ето декларацията на манифеста за разрешения:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<permission android:name="com.example.alexis.myapplication.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="com.example.alexis.myapplication.permission.C2D_MESSAGE" />

<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" />

И приемник:

<receiver
        android:name="com.google.android.gms.gcm.GcmReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>

            <!-- Receives the actual messages. -->
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />

            <!-- Receives the registration id. -->
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

            <category android:name="com.example.alexis.myapplication" />

        </intent-filter>
    </receiver>

Всяка помощ ще бъде високо оценена.

Забележка: Използвам genymotion емулатор с 2.3.7, нямам хардуерно устройство за тестване.


person Alex    schedule 25.11.2015    source източник
comment
Опитайте да използвате официалното репо тук: github.com/google/ gcm/tree/master/samples/android/gcm-demo   -  person bjiang    schedule 01.12.2015
comment
Благодаря, оказа се, че не успя да получи Token, защото използвах емулатора. Днес получих хардуерно устройство за тестване и то заработи веднага и според очакванията.   -  person Alex    schedule 02.12.2015


Отговори (1)


Използвах хардуерно устройство и всичко работеше, така че грешката беше на емулатора.

person Alex    schedule 01.12.2015