屏幕关闭时通知

时间:2010-02-07 16:36:44

标签: android notifications

我正在尝试生成一个通知,当屏幕关闭(cpu关闭)时,它会振动手机并播放声音。根据日志消息,正在发送通知,但在我再次打开屏幕之前,手机不会振动或播放声音。我试着拿着一个2秒的临时唤醒锁(PowerManager.PARTIAL_WAKE_LOCK),我认为这将是充足的时间来播放通知,但唉,它仍然没有。

任何可以让通知可靠运行的指针?我正在运行Android 1.6的G1上测试这个。

我正在使用的代码:

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 :(得分:0)

您可以制作自己的接收器,其延伸至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            
     }   
}