我正在尝试在onStartCommand方法中显示服务中的对话框

private Dialog incomingCallDialog;

incomingCallDialog = new Dialog(MyService.this, R.style.PopupDialog);
        incomingCallDialog.setCancelable(false);
        incomingCallDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        incomingCallDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
        incomingCallDialog.setContentView(view);

Handler delayHandler = new Handler();
        delayHandler.postDelayed(new Runnable() {
            @Override
            public void run() {
                    incomingCallDialog.show();
            }
        }, 100);


此代码在具有Kitkat的SamsungS5中以及在设备锁定时均能正常工作,但在具有棒棒糖5.0.2的SamsungS6中(在设备锁定时)不能正常工作。

当设备锁定时,对话框在Lollipop中完全不显示。

最佳答案

将TYPE_SYSTEM_ALERT更改为TYPE_SYSTEM_OVERLAY即可使用

10-08 03:45