屏幕锁定时将活动置于顶部

时间:2017-02-28 12:44:40

标签: java android qt qml

我在Android中开发VOIP应用Qt/QML,在WhatsApp和Skype等其他VOIP应用程序中,在收到来电和屏幕时调出他们的通话活动锁住了。我正在尝试实现这样的东西。

我有两个问题:

  1. 如何在Java中完全实现此功能
  2. 使用QML实现此功能,并在屏幕锁定时将qml活动置于顶部
  3. 我已经使用窗口管理器和WindowManager.LayoutParams.TYPE_SYSTEM_ERROR实现了一个简单的java调用屏幕,但我认为它非常适用于平台,可能无法在不同的API版本中使用

    在第二种情况下,我想将调用屏幕绘制到QML活动中,并在锁定的屏幕上显示,但我不知道该怎么做。

    有人能说出这个功能的正确方法是什么,如果第二个是正确的,该怎么做?

1 个答案:

答案 0 :(得分:2)

如果用户没有高安全性锁定我的意思是(只需轻扫/无),那么您可以使用以下代码

private void turnScreenOn() {
    int flags = WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON;
    getWindow().addFlags(flags);
}

在活动的OnCreate中使用上述代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    turnScreenOn();
    setContentView(R.layout.alexa_alarm_actvity);

}

在setContentView

之前记住

还在清单中添加权限。

android.permission.DISABLE_KEYGUARD

Best Regds