在暂停应用然后从锁屏

时间:2016-06-25 22:47:14

标签: android android-activity android-lifecycle oncreate

单击退出我的应用程序的主页按钮并调用onPause()时, 然后我从锁定屏幕通知重新打开我的应用程序,onCreate()被调用,即使活动最初从未被销毁过。这导致用户必须按下后退键2次以退出应用程序并销毁所有活动。 用户只需按一次后退键即可退出应用程序。 这只有在我使用主页按钮退出应用程序时才会发生。  heres a video demo of the bug

 @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
protected void onResume() {
    super.onResume();
    Toast.makeText(getApplicationContext(), "onResume", Toast.LENGTH_SHORT).show();

    buttonToggleDetect.setBackground(ui.uiToggle(getApplicationContext(), detectEnabled));


    // ACTIVITY RECOGNITION BELOW
    LocalBroadcastManager.getInstance(this).registerReceiver(mBroadcastReceiver, new IntentFilter(Constants.STRING_ACTION));


    // ACTIVITY RECOGNITION ABOVE ^^

    mTracker.setScreenName("Image~" + name);
    mTracker.send(new HitBuilders.ScreenViewBuilder().build());
}

@Override
protected void onPause() {
    Toast.makeText(getApplicationContext(),"onPause",Toast.LENGTH_SHORT).show();


    LocalBroadcastManager.getInstance(this).unregisterReceiver(mBroadcastReceiver);
    super.onPause();
}


@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onStart() {
    super.onStart();
    Toast.makeText(getApplicationContext(), "onStart", Toast.LENGTH_SHORT).show();


    // ACTIVITY RECOGNITION BELOW
    mGoogleApiClient.connect();

    // ACTIVITY RECOGNITION ABOVE ^^

    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
    detectEnabled = preferences.getBoolean("mode", false);


    buttonToggleDetect.setBackground(ui.uiToggle(getApplicationContext(), detectEnabled));

}

@Override
public void onStop() {
    super.onStop();
    Toast.makeText(getApplicationContext(),"onStop",Toast.LENGTH_SHORT).show();


    // ACTIVITY RECOGNITION BELOW
    if (mGoogleApiClient.isConnected()) {
        mGoogleApiClient.disconnect();
    }

    // ACTIVITY RECOGNITION ABOVE ^^



}

public void onDestroy() {
    super.onDestroy();
    Toast.makeText(getApplicationContext(),"onDestroy",Toast.LENGTH_SHORT).show();

} //onDestroy End

无法弄清楚如何解决它。 任何帮助将不胜感激!谢谢。

1 个答案:

答案 0 :(得分:0)

我通过添加解决了这个问题 android:noHistory="true">

到活动代码中的清单。