【问题标题】:Unable to Wake phone and Display Activity when the phone is locked手机锁定时无法唤醒手机和显示活动
【发布时间】:2014-07-11 08:20:23
【问题描述】:

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

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);

在我的活动类中,我正在添加标志以在屏幕锁定时显示活动,如下所示:

@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*/
}

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

【问题讨论】:

    标签: android wakelock screen-lock powermanager


    【解决方案1】:

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

    【讨论】:

    • 添加 FLAG_FULLSCREEN 没有帮助。还是不行
    • 连同标志设置 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 为清单文件中的活动使活动在键盘保护上方可见。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多