通过活动(主题对话框)阻止来电屏幕阻塞

时间:2016-11-30 06:12:45

标签: android android-activity dialog

我正在尝试在来电屏幕上显示一个活动(带主题对话框)来显示一些信息。我已经完成了这个,但问题是每当呼叫到来时,活动对话框弹出它并且它覆盖SLIDER(用于接受/拒绝呼叫)。

我希望活动对话通过来电屏幕,但仍希望用户选择/拒绝来电。

我确实使用了这个但现在无法完成活动(Dialog)。

  

getWindow()addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE)。               。getWindow()addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);

温馨的问候

//div[@id='myDiv']/h2[contains(.,"Locator")]/following-sibling::*/descendant-or-self::*

1 个答案:

答案 0 :(得分:0)

不需要具有对话框样式的Activity。 仅在要显示对话框时调用此方法。 这将在手机上创建一个对话框。

final Dialog dialog;
public void showDialog(){
  dialog = new Dialog(this,
            android.R.style.Theme_Translucent_NoTitleBar);

    // Setting dialogview
    Window window = dialog.getWindow();
    window.setGravity(Gravity.TOP);

    window.setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    dialog.setTitle(null);
    dialog.setContentView(R.layout.notedialog);
    dialog.setCancelable(true);

    dialog.show();
    }

要取消对话框,请调用此方法。

public void cancelDialog(){
if(dialog!= null ){
dialog.dismiss()
}
}

如果您坚持使用“活动”对话框您可以使用此方法更改窗口的位置。

@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();

    View view = getWindow().getDecorView();
    WindowManager.LayoutParams lp = (WindowManager.LayoutParams) view.getLayoutParams();
    lp.gravity = Gravity.CENTER | Gravity.TOP
    lp.x = 10;
    lp.y = 10;
    lp.width = 300;
    lp.height = 300;
    getWindowManager().updateViewLayout(view, lp);
}