Я пытаюсь разработать приложение, которое может получать 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 хотя и это уже было представлено в манифесте.
Кто-нибудь знает, как я могу исправить эту проблему?
Спасибо.