Skip to content

8. 一行代码在应用后台弹出弹窗

Jun edited this page Jun 11, 2020 · 5 revisions

要想在应用后台的时候弹出弹窗,只有带dialog的版本才能做到! dialog的版本增加了这个属性:

.enableShowWhenAppBackground(true)

而且需要悬浮窗权限,不过XPopup都封装好一行代码即可。代码如下:

//申请悬浮窗权限
XPopup.requestOverlayPermission(getContext(), new XPermission.SimpleCallback() {
                    @Override
                    public void onGranted() {
                        ToastUtils.showShort("等待2秒后弹出XPopup!!!");
                        ActivityUtils.startHomeActivity();
                        new Handler().postDelayed(new Runnable() {
                            @Override
                            public void run() {
                                new XPopup.Builder(getContext())
                                        .enableShowWhenAppBackground(true)  //运行在应用后台弹出
                                        .asConfirm("XPopup牛逼", "XPopup支持直接在后台弹出!", new OnConfirmListener(){
                                    @Override
                                    public void onConfirm() {
                                        startActivity(new Intent(getContext(), MainActivity.class));
                                    }
                                }).show();
                            }
                        }, 2000);
                    }
                    @Override
                    public void onDenied() {
                        ToastUtils.showShort("权限拒绝需要申请悬浮窗权限!");
                    }
                });