当我的应用程序进入后台时,如何显示我的Android应用程序的通用页面?

时间:2019-05-07 10:31:34

标签: android android-layout

在我的android应用程序中,每当我的应用程序进入后台时,我需要显示一个公共页面,以便当用户看到其Android设备上所有打开的应用程序时,当前页面将处于onPause状态被显示,而是显示了我想要的页面。我在iOS中观察到了这种行为。需要在android中实现。

2 个答案:

答案 0 :(得分:0)

设置全局布尔变量;-

private boolean isPaused = false; 

现在将您设置为onResume方法:-

@Override
    public void onResume() {
        if (isPaused) {
            setContentView(R.layout.activity_splash);
            isPaused = false;
        }
        super.onResume();
    }

现在设置此方法:-

@Override
    protected void onUserLeaveHint() {
        isPaused = true;
        super.onUserLeaveHint();
    }

答案 1 :(得分:0)

有一种简单的方法可以在任务切换器中显示应用程序时禁用应用程序的预览。 FLAG_SECURE

启用此功能后,您的应用将不会显示任何预览,而是会为大多数设备显示空白屏幕。

这可以通过创建一个基本的Activity类来完成,该类扩展所有活动,并将其包含在onCreate中:

protected void onCreate(@Nullable Bundle savedInstanceState) {
   getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
   super.onCreate(savedInstanceState);
}

或者,您可以在暂停/恢复时有选择地启用它(尽管第一种方法更好):

override fun onPause() {
    super.onPause()
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE)
}

override fun onResume() {
    super.onResume()
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE)
}