onCreate中的moveTaskToBack导致活动短暂显示然后隐藏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了onCreate中的moveTaskToBack导致活动短暂显示然后隐藏相关的知识,希望对你有一定的参考价值。
我有一个接收推送通知的BroadcastReceiver,然后我开始一个活动并显示通知。 (请注意,当用户操作通知时,活动未启动)
我的目的是以“后台模式”启动活动,然后当用户响应通知时将活动带到前面。
一切都很完美,除了活动简要显示然后立即隐藏。 (闪烁活动一秒钟)。
这是我的代码:
BroadcastReceiver...
Intent intent = new Intent(context, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("BACKGROUND",true);
context.startActivity(intent);
MainActivity.....
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getIntent().getBooleanExtra("BACKGROUND",false)) {
moveTaskToBack(true);
} else {
}
答案
有同样的问题。通过在主题中添加android:windowDisablePreview
属性来解决。
例如,在你的res/values/styles.xml
中:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:windowDisablePreview">true</item>
</style>
</resources>
不确定是否有任何方式以编程方式添加它。
另一答案
有同样的问题。 通过启动服务解决它,然后在需要时打开Activity。这是推荐的方法。
以上是关于onCreate中的moveTaskToBack导致活动短暂显示然后隐藏的主要内容,如果未能解决你的问题,请参考以下文章
Android项目实战:moveTaskToBack(boolean ) 方法的使用
在主屏幕顶部的 Activity 上调用 movetasktoback 方法不会将主屏幕带到前台
完成 onCreate 中的活动时,如何在 onCreate 之前调用我的片段的 onCreateView?