Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在屏幕锁定时将活动置于顶部_Java_Android_Qt_Qml - Fatal编程技术网

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

Java 在屏幕锁定时将活动置于顶部,java,android,qt,qml,Java,Android,Qt,Qml,我正在用安卓系统中的Qt/QML开发一个VOIP应用程序,其他VOIP应用程序,如WhatsApp和Skype,在收到来电并锁定屏幕时启动呼叫活动。我正在尝试实现类似的东西 我有两个问题: 完全用Java实现这个特性怎么样 使用QML实现此功能,并在屏幕锁定时将QML活动置于顶部 我用window manager和WindowManager.LayoutParams.TYPE_SYSTEM_ERROR实现了一个简单的java调用屏幕,但我认为它非常特定于平台,可能无法在不同的API版本中工作 在

我正在用安卓系统中的
Qt/QML
开发一个
VOIP
应用程序,其他
VOIP
应用程序,如WhatsApp和Skype,在收到来电并锁定屏幕时启动呼叫活动。我正在尝试实现类似的东西

我有两个问题:

  • 完全用Java实现这个特性怎么样
  • 使用QML实现此功能,并在屏幕锁定时将QML活动置于顶部
  • 我用window manager和
    WindowManager.LayoutParams.TYPE_SYSTEM_ERROR
    实现了一个简单的java调用屏幕,但我认为它非常特定于平台,可能无法在不同的API版本中工作

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


    有人能告诉你这个功能的正确方法是什么吗?如果第二种方法是正确的,怎么做?

    如果用户没有高安全性锁,我的意思是(只需刷一下/none),那么你可以使用下面的代码

    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);
    }
    
    在创建活动时使用上述代码

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        turnScreenOn();
        setContentView(R.layout.alexa_alarm_actvity);
    
    }
    
    记住在设置ContentView之前

    还要在清单中添加权限

    android.permission.DISABLE_KEYGUARD


    Best Regds

    正如您所说,这只是为了防止简单的安全锁。