Успешно накарах тези реализации на c2dm да работят в моето приложение.
Имам проблем, когато c2dm съобщенията не се получават внезапно от устройството. Този път ми дава отказ за разрешение, за което съм объркан:
Отказ на разрешение: получаване на намерение {
act=com.google.android.c2dm.intent.REGISTRATION cat=[myapp.android] (има екстри) } към myapp.android изисква myapp.android.permission.C2D_MESSAGE поради com на подателя .google.android.location (uid 10037)
Случи ми се за втори път сега, не мога просто да кажа на потребителите си, че трябва да извършат фабрично нулиране, когато не са получили никаква команда. Някой тук срещал ли е подобен проблем? Всяка помощ или прозрения и каузи ще бъдат много оценени.
manifest.xml, както е поискано
<receiver
android:name="myapp.EmBroadcastReceiver"
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="myapp" />
</intent-filter>
</receiver>
...
<uses-permission android:name="myapp.android.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.INTERNET" />