2

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))ましたが、画面のウェイクアップは延長されませんでした。

画面の起動時間を延長するにはどうすればよいですか?

ありがとうございました!

4

1 に答える 1

1
try {
            Thread.sleep(1000);//or however long this is one second
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
于 2013-04-26T02:14:21.747 に答える