如何在Android中的应用程序在后台显示启动画面?
我的应用程序有一个启动画面(无法避免它,因为它是品牌的原因)。如何在Android中的应用程序在后台显示启动画面?
我想掩盖用户界面,并在后台显示启动画面(如银行应用程序那样)。
我应该为MainActivity中的视图覆盖onPause()和onResume()吗?
清单:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:theme="@style/AppTheme.NoActionBar"></activity>
</application>
飞溅活动: 的onCreate()
setContentView(R.layout.splash_layout);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
/* Create an Intent that will start the Main-Activity. */
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
}, SPLASH_DISPLAY_LENGTH);
}
MainActivity():仅显示文本和按钮布局
的onCreate():
setContentView(R.layout.example_view);
现在,当我的应用程序在后台,当我按下菜单按钮可以看到在我的栈的应用程序列表中,我应该看到splashview(xml文件)不是deafult行为即MainActivity布局。
一个我尝试了的事情是增加
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
这确实掩盖了应用程序时,它是在背景,白色屏幕,但我想显示启动视图时,应用程序是在后台。
我知道所有的iOS银行应用程序都有这个功能。
如果你看到在后台Twitter的应用程序(例),我想掩盖与闪屏应用程序视图。现在使用FLAG_SECURE可以帮助我用白色屏幕屏蔽屏幕,但我想显示飞溅布局而不是白色屏幕。
- 如果从iOS设备看到下面的图片 - Discover应用程序(例如)口罩闪屏的应用程序,这可以在Android做些什么呢?
可以这样在Android上做了什么?
不直接,AFAIK。
我应该为MainActivity中的视图覆盖onPause()和onResume()吗?
可能不是。虽然您可以更改有你的UI:
这些方法被调用其他原因(例如,当用户点击在多窗口模式的另一个窗口,当你启动另一个你的活动)
这可能是太晚了对于当截图被采取
整体原因是为了确保应用程序,当它在后台显示启动画面,但因为我没有看到任何其他解决方案 - (使用下面的方法只是隐藏在背景中的白色空屏幕的视图,这是我想要的部分) getWindow()。setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);' – DroidDev
@ User54321:'FLAG_SECURE'将处理安全部分,尽管[它有一些泄漏](https://commonsware.com /blog/2016/06/06/psa-flag-secure-window-leaks.html)。不过,我不知道如何定制该屏幕。 – CommonsWare
你想再次打开活动一次重新打开应用?如果没有,你可以做的最好的事情就是在'onPause()'方法中调用'finish()'。 –
@不,我编辑了我的问题以获得更好的理解。 – DroidDev