Android-当应用程序在后台运行时启动一个对话框

Android-当应用程序在后台运行时启动一个对话框,android,qt,qtandroidextras,Android,Qt,Qtandroidextras,我有一个具有调用对话框的应用程序。我正试图在锁定屏幕上显示呼叫对话框。它在应用程序不在后台时工作,实际上在应用程序打开且锁屏处于活动状态时不工作。 这是我的密码: public class CustomMainActivity extends QtActivity implements SensorEventListener { @Override protected void onStart() { super.onStart();

我有一个具有调用对话框的应用程序。我正试图在锁定屏幕上显示呼叫对话框。它在应用程序不在后台时工作,实际上在应用程序打开且锁屏处于活动状态时不工作。
这是我的密码:

    public class CustomMainActivity extends QtActivity implements SensorEventListener
    {

    @Override
    protected void onStart() {
        super.onStart();
        if (getCallId() != 0)
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
                WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
                WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
        else
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
            WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
            WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
            WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
    .
    .
    .
    }

    @Override
    protected void onResume() {
        super.onResume();

        if (getCallId() != 0)
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
                WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
                WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
        else
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
            WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
            WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
            WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
    .
    .
    .
    }

}

尝试将这些标志添加到
onCreate()


我在onCreate上添加了这一行。若应用程序打开并进入睡眠状态,它将不会显示调用对话框。在另一种情况下,它正在工作。您的对话框处于不同的活动中?我的意思是你如何显示你的对话框?我在Qt上的对话框,我检查callstate-if(getCallId()!=0)-如果call receive,我只想显示call dialog我的意思是你必须启动一个单独的活动(包括onCreate中的那些标志)来显示对话框。
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    getWindow().addFlags(
            WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                    | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
                    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

    super.onCreate(savedInstanceState);
}