按下返回按钮后黑屏

时间:2018-08-07 08:43:30

标签: android android-activity

我的应用仅包含一项活动和广告活动。它运作良好,但是当我按下“返回”按钮时,我的应用程序关闭了,我看到的是黑色背景,而不是墙纸,它被部分滚动了。我也可以看到所有图标。屏幕的黑色部分消失了,我可以看到正常的屏幕墙纸。它只花不到一秒钟的时间,但是很烦人。我找不到问题所在。

按返回按钮后,我的活动仅具有水平方向,并具有正确的生命周期(onPause-onStop-onDestroy)。广告活动根本没有启动。

我没有覆盖onPause() onStop() onDestroy()

我的清单

<application
    android:allowBackup="true"
    android:icon="@mipmap/icon_transp_bkg"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name="MainActivity"
        android:screenOrientation="sensorLandscape"
        android:configChanges="orientation|screenSize"
        android:theme="@style/PlayTheme2">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:theme="@android:style/Theme.Translucent" />
</application>

可能与后退堆栈有关,并试图搜索以前的活动吗?

请让我以正确的方式解决问题。提前谢谢。

3 个答案:

答案 0 :(得分:0)

您可以使用OnBackPressed

@Override
public void onBackPressed() {
    // what you want to do when back button is pressed
}

答案 1 :(得分:0)

您可以在活动中覆盖OnBackPressed方法

        @Override
        public void onBackPressed(){
        finish();
        }

并调用FINISH方法,这将正确关闭您的活动和应用程序。

答案 2 :(得分:0)

保留Back-Stack,并尝试搜索以前的活动。 遍历onBackPressed并调用一次结束两者。

public void onBackPressed(){
  finish();
}