Уведомление, когда экран выключен - PullRequest
1 голос
/ 07 февраля 2010

Я пытаюсь сгенерировать уведомление, которое вибрирует телефон и воспроизводит звук при выключенном экране (процессор выключен). Согласно сообщениям журнала, уведомление отправляется, но телефон не вибрирует и не воспроизводит звук, пока я снова не включу экран. Я пытался удерживать 2-секундный временный блокировщик (PowerManager.PARTIAL_WAKE_LOCK), который, как я думал, будет достаточным временем для воспроизведения уведомления, но, увы, все равно этого не происходит.

Есть ли какие-либо указатели для обеспечения надежной работы уведомления? Я тестирую это на G1 под управлением Android 1.6.

Код, который я использую:

notif.vibrate = new long[] {100, 1000};
notif.defaults |= Notification.DEFAULT_SOUND;

notif.ledARGB = Color.RED;
notif.ledOnMS = 1;
notif.ledOffMS = 0;
notif.flags = Notification.FLAG_SHOW_LIGHTS;

notif.flags |= NOTIF_FLAGS; //static var

if (!screenOn) { //var which updates when screen turns off/on
    mWakeLock.acquire(2000); 
}

manager.notify(NOTIF_ID, notif);

1 Ответ

0 голосов
/ 07 февраля 2010

Вы можете сделать свой собственный получатель, который расширяется до BroadcastReceiver, который может выполнять ваше уведомление при получении INTENT.ACTION_SCREEN_OFF

@Override 
public void onReceive(Context context, Intent intent) {
  Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
  long milliseconds = 1000;  
    if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
        // vibrate the phone
            v.vibrate(milliseconds);
        // any other code here            
     }   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...