2013-05-31 2 views
1

Я пытаюсь разработать приложение, которое может получать push-уведомления от GCM. Я дал следующие разрешения в моей Android Manifest:Google Cloud Messaging: я дал моему приложению Android необходимые разрешения, но он все еще дает ошибку при регистрации устройства

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.GET_ACCOUNTS"/> 
<permission android:name="com.example.notifications.permission.C2D_MESSAGE" android:protectionLevel="signature"></permission> 
<uses-permission android:name="com.example.notifications.persmission.C2D_MESSAGE"/> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK"/> 

Я также определил следующие BroadcastReceiver в манифесте:

<receiver 
     android:name="com.google.android.gcm.GCMBroadcastReceiver" 
     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.notifications" /> 
     </intent-filter> 
    </receiver> 

Я также реализовал GCMIntentService с необходимым методом переопределяет, в том числе onRegistered method.

Однако, я получаю следующее сообщение об ошибке в LogCat, когда метод GCMRegistrar.getRegistrationId называется:

05-31 15:13:19.359: W/ActivityManager(62): Permission Denial: receiving Intent { act=com.google.android.c2dm.intent.REGISTRATION cat=[com.example.notifications] (has extras) } to com.example.notifications requires com.example.notifications.permission.C2D_MESSAGE due to sender com.google.android.gsf (uid 10013) 

Это, кажется, говорит о том, что приложение требует com.example.notifications.permission.C2D_MESSAGE permssion хотя и это уже было представлено в манифесте.

Кто-нибудь знает, как я могу исправить эту проблему?

Спасибо.

ответ

2

Замените эту строку

<uses-permission android:name="com.example.notifications.permission.C2D_MESSAGE" /> 

С.

<uses-permission android:name="com.example.notifications.persmission.C2D_MESSAGE"/> 

Выпуск

permission.C2D_MESSAGE 

Официальный гсм учебник дается здесь вписатьтся пройти через это, чтобы избежать будущих проблем http://developer.android.com/google/gcm/gs.html

2

У вас есть опечатка:

persmission.C2D_MESSAGE 

Должно быть:

permission.C2D_MESSAGE 
Смежные вопросы