设想:
我有一个在前台运行的活动.. 一段时间后,屏幕将自动锁定。
后来,我收到一个新的 Intent,它要求无论锁定屏幕如何,都需要再次显示屏幕。
当这个活动就在锁定屏幕后面时我应该如何打开屏幕(当你再次按下锁定按钮时,你会看到活动)
我只知道开始活动时如何打开屏幕
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// make incoming call show on locked screen
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
}
现在我想在活动已经创建但在 onStop() 之后一直在后台之后打开屏幕..
我尝试了以下方法,但它不起作用:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
handleCallingIntent(intent);
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
final PowerManager.WakeLock wl = pm.newWakeLock(
PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "Incoming Call");
wl.acquire();
mDismissButton.postDelayed(new Runnable() {
@Override
public void run() {
// just to test if screen will be on for 10s
wl.release();
}
}, 10000L);
}