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