我正在尝试生成一个通知,当屏幕关闭(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);
答案 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
}
}