I am using the latest Parse Android SDK 1.9.1. I use Parse only for the push notification service. It works on almost every device without problems. But now I figured out, that devices with Cyanogenmod installed doesn't get a deviceToken. And the pushType ist also not set. Which is normal gcm
.
If I start the app on a device with Cyangenmod I get the following Exception from LogCat:
E/com.parse.ManifestInfo(22372): Cannot use GCM for push because the app manifest is missing some required declarations. Please make sure that these permissions are declared as children of the root <manifest> element:
E/com.parse.ManifestInfo(22372):
E/com.parse.ManifestInfo(22372): <uses-permission android:name="android.permission.INTERNET" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="android.permission.VIBRATE" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="android.permission.WAKE_LOCK" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="android.permission.GET_ACCOUNTS" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
E/com.parse.ManifestInfo(22372): <permission android:name="com.example.testapp.permission.C2D_MESSAGE" android:protectionLevel="signature" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="com.example.testapp.permission.C2D_MESSAGE" />
E/com.parse.ManifestInfo(22372):
E/com.parse.ManifestInfo(22372): Also, please make sure that these services and broadcast receivers are declared as children of the <application> element:
E/com.parse.ManifestInfo(22372):
E/com.parse.ManifestInfo(22372): <service android:name="com.parse.PushService" />
E/com.parse.ManifestInfo(22372): <receiver android:name="com.parse.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
E/com.parse.ManifestInfo(22372): <intent-filter>
E/com.parse.ManifestInfo(22372): <action android:name="com.google.android.c2dm.intent.RECEIVE" />
E/com.parse.ManifestInfo(22372): <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
E/com.parse.ManifestInfo(22372): <category android:name="com.example.testapp" />
E/com.parse.ManifestInfo(22372): </intent-filter>
E/com.parse.ManifestInfo(22372): </receiver>
On other devices it works without problems, and the permissions and intent-filters are set in the Manifest file.
Any ideas?