单击退出我的应用程序的主页按钮并调用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
无法弄清楚如何解决它。 任何帮助将不胜感激!谢谢。
答案 0 :(得分:0)
我通过添加解决了这个问题
android:noHistory="true">
到活动代码中的清单。