Phil
- Forum-Beiträge: 40
02.09.2013, 10:44:28 via Website
02.09.2013 10:44:28 via Website
Hallo,
ich habe eine App geschrieben welche Push Notifications erhalten kann. Wenn ich das Smartphone eingeschaltet habe und die App im Vorder oder Hintergrund läuft kommen die Push Notifications an.
Schalte ich aber das Display aus und das Smartphone geht in den Sleep Modus, dann erhalte ich keine Benachrichtungen mehr. Schicke ich von einem anderen Smartphone eine Wahtsapp Nachricht, wird diese empfangen. Die Internetverbindung, in diesem fall WLAN muss also noch eingeschaltet sein. Auch die Systemeinstellung, dass das WLAN im Standby aktiv bleiben soll, steht auf "immer".
Hier ein paar Quelltext auszüge:
Push registrieren
Habe ich beim initialisieren oder in der Manifest etwas falsch gemacht oder vergessen?
Ich bin für jede Hilfe dankbar
Phil
ich habe eine App geschrieben welche Push Notifications erhalten kann. Wenn ich das Smartphone eingeschaltet habe und die App im Vorder oder Hintergrund läuft kommen die Push Notifications an.
Schalte ich aber das Display aus und das Smartphone geht in den Sleep Modus, dann erhalte ich keine Benachrichtungen mehr. Schicke ich von einem anderen Smartphone eine Wahtsapp Nachricht, wird diese empfangen. Die Internetverbindung, in diesem fall WLAN muss also noch eingeschaltet sein. Auch die Systemeinstellung, dass das WLAN im Standby aktiv bleiben soll, steht auf "immer".
Hier ein paar Quelltext auszüge:
Push registrieren
1public void onCreate(Bundle savedInstanceState) {
2 super.onCreate(savedInstanceState);
3 setContentView(R.layout.main);
4 GCMRegistrar.checkDevice(this);
5 GCMRegistrar.checkManifest(this);
6 register_push();
7}
8
9private void register_push() {
10 global.PUSH_TOKEN = GCMRegistrar.getRegistrationId(i_this);
11 if (global.PUSH_TOKEN.equals("")) {
12 GCMRegistrar.register(this, CONST.GOOGLE_PROJECT_ID);
13 } else {
14 global.register_device_at_my_server();
15 }
16}
manifest.xml2 super.onCreate(savedInstanceState);
3 setContentView(R.layout.main);
4 GCMRegistrar.checkDevice(this);
5 GCMRegistrar.checkManifest(this);
6 register_push();
7}
8
9private void register_push() {
10 global.PUSH_TOKEN = GCMRegistrar.getRegistrationId(i_this);
11 if (global.PUSH_TOKEN.equals("")) {
12 GCMRegistrar.register(this, CONST.GOOGLE_PROJECT_ID);
13 } else {
14 global.register_device_at_my_server();
15 }
16}
1<uses-permission android:name="android.permission.INTERNET" />
2 <uses-permission android:name="android.permission.WAKE_LOCK" />
3 <uses-permission android:name="android.permission.VIBRATE"/>
4 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
5 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
6 <!-- App receives GCM messages. -->
7 <permission android:name="de.ich.meine.app.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
8 <uses-permission android:name="de.ich.meine.app.permission.C2D_MESSAGE" />
9 <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
10
11 <!-- GCM requires a Google account. -->
12 <uses-permission android:name="android.permission.GET_ACCOUNTS" />
13<receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
14 <intent-filter>
15 <action android:name="com.google.android.c2dm.intent.RECEIVE" />
16 <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
17 <category android:name="de.ich.meine.app" />
18 </intent-filter>
19 </receiver>
20 <service android:name=".GCMIntentService" />
GCMIntentService.java2 <uses-permission android:name="android.permission.WAKE_LOCK" />
3 <uses-permission android:name="android.permission.VIBRATE"/>
4 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
5 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
6 <!-- App receives GCM messages. -->
7 <permission android:name="de.ich.meine.app.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
8 <uses-permission android:name="de.ich.meine.app.permission.C2D_MESSAGE" />
9 <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
10
11 <!-- GCM requires a Google account. -->
12 <uses-permission android:name="android.permission.GET_ACCOUNTS" />
13<receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
14 <intent-filter>
15 <action android:name="com.google.android.c2dm.intent.RECEIVE" />
16 <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
17 <category android:name="de.ich.meine.app" />
18 </intent-filter>
19 </receiver>
20 <service android:name=".GCMIntentService" />
1public class GCMIntentService extends GCMBaseIntentService {
2 public GCMIntentService() {
3 super(CONST.GOOGLE_PROJECT_ID);
4 }
5protected void onMessage(Context context, Intent intent) {
6 log.i(CONST.TAG,"new push");
7 }
8// ...
9}
2 public GCMIntentService() {
3 super(CONST.GOOGLE_PROJECT_ID);
4 }
5protected void onMessage(Context context, Intent intent) {
6 log.i(CONST.TAG,"new push");
7 }
8// ...
9}
Habe ich beim initialisieren oder in der Manifest etwas falsch gemacht oder vergessen?
Ich bin für jede Hilfe dankbar
Phil
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.