5

私のアプリケーションでは、通知が届いたときにBroadcastReceiver、画面がロックされている場合は呼び出されません。ただし、画面のロックが解除されると、BroadcastReceiverが呼び出され、通知が表示されます。

また、マニフェストに次の許可を入れました。

android.permission.WAKE_LOCK

しかし、まだ機能していません。

4

2 に答える 2

15

これが私のために働くコードです:

NotificationManager mManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(...);
...
mManager.notify(0, notification);
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG");
wl.acquire(15000);

サーバーから通知を送信することを確認してくださいdelay_while_idle=0(これがデフォルト値です)。そうしないと、デバイスが起動するまで GCM によって通知が送信されません。

于 2013-08-28T18:42:20.937 に答える