另一项活动之上的Android 5.0开放活动会导致第一项活动

时间:2017-12-28 10:06:01

标签: android android-activity android-5.0-lollipop

我正在编写一个应用程序并且有一个错误我真的不知道如何解决。我有两个活动A和B,从活动A我按一个按钮开始B活动,但是当我这样做时,布局活动A消失了。请注意,B具有透明背景,因此用户可以看到活动A元素。但是我在Android 5.0设备上遇到这个问题,在其他Api级别上该应用程序按预期工作。我希望有人遇到类似问题或者在我的逻辑中遇到问题。 附:我宣布活动的A启动模式为“singleTask”,B为“标准”。这就是我开始活动的方式:

     Intent intent = new Intent(GameActivity.this, MenuActivity.class);
     startActivity(intent);

请注意,我没有在启动活动后调用finnish(),我也尝试将各种标志设置为intent,但问题仍然存在,而且只是在android 5.0上。 这是两个活动的清单代码:

    <activity
        android:name=".activities.MenuActivity"> </activity>
    <activity
        android:name=".activities.GameActivity"
        android:launchMode="singleTask">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

在GameActivity中的onCreate()中我启动了这样的MenuActivity:

   @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.game_layout);

    initViews();

    Intent intent = new Intent(GameActivity.this, MenuActivity.class);
    startActivity(intent);

}

2 个答案:

答案 0 :(得分:1)

 Intent intent = new Intent(GameActivity.this, MenuActivity.class);
 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 startActivity(intent);

试试这会对你有帮助。

答案 1 :(得分:1)

试试这个

Intent intent = new Intent(GameActivity.this, MenuActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);