У нас есть планшетное приложение, которое больше похоже на файловый менеджер, у нас есть различные фрагменты диалогов для поддержки различных функций.Недавно мы добавили поддержку обратного стека и поддержку ротации.
Мы делаем это с помощью метода onSaveInstanceState, а затем используем сохраненный экземпляр в OnCreate и восстанавливаем состояние приложения.Все отлично работает в нашей отладочной сборке. (Скомпилируйте и запустите приложение из eclipse).
Наша команда RE недавно настроила среду сборки, и теперь мы столкнулись с некоторыми очень странными проблемами с выпуском apk из этой среды.
В выпуске APk, пакет сохраняется в onSaveInstanceState, когда я нажимаю на Home на планшете, и возобновляю, нажимая на приложение снова.При возобновлении он приходит к OnCreate и запускает новое действие, как и ожидалось, но пакет имеет значение null.
Все это прекрасно работает в режиме отладки, я никогда не видел никаких проблем, не уверен, что является основной причиной,??серьезно делает что-то не так.
Ниже представлен файл манифеста Android.
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.autonomy.connected.action.DIALOG" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<service android:enabled="true" android:name="RestFullService" />
</application>
Ниже приведен код, который просто сохраняетномер вкладки.
public void onSaveInstanceState(final Bundle outState)
{
outState.putInt("selectedTab", getActionBar().getSelectedTab().getPosition());
super.onSaveInstanceState(outState);
}
public void onCreate(final Bundle savedInstanceState)
{
Directory.initializeDirectory();
super.onCreate(savedInstanceState);
if (savedInstanceState != null)
{
restarted = true;
}
/*.... more code here ....*/
}