手机锁定时无法唤醒手机和显示活动

时间:2014-07-11 08:20:23

标签: android wakelock screen-lock powermanager

我正在从服务中启动一项活动。我在服务启动之前获取部分唤醒锁。

PowerManager mgr = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
lockStatic=mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, LOCK_NAME_STATIC);
lockStatic.setReferenceCounted(true);

我从这样的服务开始活动:

Intent intent = new Intent(mContext, NotificationActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

在我的Activity类中,我在屏幕锁定时添加标记来显示活动:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
    /*Code to open a Dialog*/
}

当我调试所有代码工作正常。活动被成功调用。但如果屏幕被锁定(没有安全锁定键盘锁),则手机屏幕不会显示活动。我必须手动解锁手机,然后才能看到正在运行的应用程序列表中的活动。

1 个答案:

答案 0 :(得分:1)

如上所述here,您还必须为活动设置FLAG_FULLSCREEN