Ich verwende GCM, um Daten von meinem Server an meine App zu senden. Das Messaging funktioniert einwandfrei. Ich erhalte jede Massage sofort auf meinem Gerät. Allerdings ist das Problem: Es funktioniert nicht, wenn das Display meines Smartphones ausgeschaltet ist. Vielleicht hat es am Ende. mit meinem Smartphone zu tun? Ich benutze Android 5 und Benachrichtigungen von anderen Anwendungen funktionieren gut (wie WhatsApp).Android empfängt GCM, während das Display ausgeschaltet ist
Serverdaten:
{
"data": {
"id": "5",
"message": "test"
},
"registration_ids": ["myRegId"],
"priority": "high"
}
Manifest:
...
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.example.gcm" />
</intent-filter>
</receiver>
<service
android:name=".GcmMessageHandler"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission android:name="com.asdf.myapp.gcm.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="com.asdf.myapp.gcm.permission.C2D_MESSAGE" />
Empfänger:
public class GcmMessageHandler extends GcmListenerService {
@Override
public void onMessageReceived(String from, Bundle data) {
Log.d("test", "message received");
}
}
Noch gleiche Problem .. – Ant1Zykl0n