当出现通知时,我正在使用PowerManager.WakeLock唤醒我的屏幕...
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, getClass().getName());
//Acquire the lock
wl.acquire();
NotificationCompat.Builder nb = new NotificationCompat.Builder(context);
nb.setContentTitle("Title");
nb.setContentText("This is a notification test.");
nb.setSmallIcon(R.drawable.ic_launcher);
NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
final Intent notificationIntent = new Intent(context.getApplicationContext(), ShowReminderActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
final PendingIntent contentIntent = PendingIntent.getActivity(context.getApplicationContext(), 0, notificationIntent, 0);
nb.setContentIntent(contentIntent);
Notification notification = nb.getNotification();
notification.flags = Notification.FLAG_AUTO_CANCEL;
nm.notify(0, notification);
//Release the lock
wl.release();这会在通知时唤醒屏幕,但屏幕唤醒只是一眨眼的事情。我尝试了wl.acquire(Long.valueOf(5000)),但这并没有延长唤醒的屏幕。
如何延长屏幕唤醒时长?
谢谢!
发布于 2013-04-26 10:14:22
try {
Thread.sleep(1000);//or however long this is one second
} catch (InterruptedException e) {
e.printStackTrace();
}https://stackoverflow.com/questions/16227645
复制相似问题