Android- запустить диалог, когда приложение на фоне
У меня есть приложение, которое имеет диалог вызова. Я пытаюсь показать диалог вызова на экране блокировки. это работало, когда приложение не было в фоновом режиме, фактически оно не работало, когда приложение было открыто и экран блокировки был активен.
Вот мой код:
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);
.
.
.
}
}
1 ответ
Попробуйте добавить эти флаги внутри 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);
}