Я реализую заставку для приложения для Android. Я хочу показать экран только один раз, когда приложение будет запущено. После того, как я сделал некоторую работу, я хочу перейти к приложению. Если пользователь затем нажимает кнопку «Назад», я не хочу, чтобы он возвращался к заставке, я просто хочу, чтобы приложение вышло. Как я могу реализовать это наилучшим образом? Как очистить стопку первого действия.Android splashscreen backstack
ответ
Когда вы собираетесь на вторую активность после заставок, вызовите отделку()
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
if (preferences.getBoolean("firstTime", true)) {
// Show splash screen
// Wait a few seconds.
} else {
// Nothing to do here. Go straight to the second activity.
}
SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(
getSupportActivity()).edit();
editor.putBoolean("firstTime", false);
editor.commit();
startActivity(MainActivity.this, ...)
finish();
Таким образом, когда пользователь нажимает назад, существует обыкновение быть любой деятельность в стеке.
Использование совместно preeferences в андроиде и хранить значение 1-й раз .. из второй проверки времени, если экран значения присутствует дисплей Dont всплеска
Редактировать для предпочтения следовать this
Для этого вы должны использовать SharedPreferences,
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if(!prefs.getBoolean("first_time", false))
{
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("first_time", true);
editor.commit();
Intent i = new Intent(splash.this, otherSplash.class);
this.startActivity(i);
this.finish();
}
else
// Not firsttime Direct it as you wish
}
Не так ли? Почему тогда он занижен –
Если вы хотите показывать заставку только в первый раз, когда приложение запускается, , вы можете использовать вышеприведенное решение об общих предпочтениях. Но я думаю, вы хотите перейти к следующим сценариям:
- Вы запускаете приложение, которое вы получаете заставки.
- Затем вы перемещаетесь, хотя приложение.
- Затем вы приходите на главный экран приложения.
- Затем вы хотите выйти, но заставка появляется.
Если вы с этой проблемой, то вам нужно, чтобы закончить заставку при запуске домашней деятельности, а также в конце концов, вы должны выйти из системы или завершить приложение домашней деятельности. Также попробуйте ввести android:launchMode="singleTask"
в закладки активности заставки в андроид манифест.
Привет, попробуйте этот код, это поможет вам, но оно покажет всплеск всякий раз, когда вы открываете приложение.
public class spash_scr extends Activity {
ImageView t;
//LoginButton b;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.spash_scr);
// bm1=drawable.shineme;
t = (ImageView) findViewById(R.id.textView1);
t.setImageResource(R.drawable.shineme);
RotateAnimation r = new RotateAnimation(0, 360,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
0.5f);
// r.setStartOffset(1000);
r.setDuration(2000);
r.setFillAfter(true);
t.startAnimation(r);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Intent i = new Intent(spash_scr.this, MainActivity.class);
startActivity(i);
finish();
}
}, 3000);
}
Вы не были ясны в точном поведении, так вот несколько вариантов:
A: Вы хотите, чтобы показать Всплеск Активность в каждый раз, когда задача (приложение) перезапускается, например как после перезагрузки телефона, ручная задача пользователя закрывается, или когда Android отбрасывает его по соображениям памяти. (Обычно это используется для логотипов брендинга или лицензирования.) В этих случаях запустите всплытие из окна onCreate(), а затем Finish(), чтобы позволить пользователю вернуться к основному виду. Таким образом, переход назад не приведет к возврату активности всплеска, поскольку он больше не находится в стеке навигации.
B: Вы хотите, чтобы он отображал заставку при первом запуске приложения после установки, но больше никогда. (Обычно используется для просмотра «приветствия» или «начала работы»). Используйте параметр SharedPreference, как описано в других ответах здесь, или в документации Using Shared Preferences.В случае, если он должен показать всплеск, я все же предлагаю вариант A для простейшего способа не показывать экран заставки снова после его первого отклонения после первого запуска.
C: Еще больше, неизвестная сложная навигация? Узнайте о Tasks and Back Stack, и вы можете сделать это в значительной степени, что хотите.
После открытия нового процесса this.finish();
Вы должны сделать
Intent intent = new Intent(this, HomeActivity.class);
startActivity(intent);
this.finish();
- 1. Cordova android black splashscreen
- 2. android: как реализовать splashscreen
- 3. Android активности backstack
- 4. Ручка backstack android
- 5. Фрагмент Android backstack
- 6. Android уведомление навигации backstack
- 7. Управление backstack в Android
- 8. Синтезировать фрагмент Android backstack
- 9. Фрагмент переупорядочения Android Backstack
- 10. Android BackStack NavigationDrawer
- 11. Android - Очистка навигации Backstack
- 12. Android Correct Fragment BackStack
- 13. Фрагменты backStack - Android
- 14. Android: SplashScreen Фоновое изображение НЕПОНЯТНО
- 15. Android Splashscreen при работе AsyncTask
- 16. Активность загрузки Android в splashscreen
- 17. Android Async Task на Splashscreen
- 18. Android-приложение падает после splashscreen
- 19. Как спрятать PhoneGap Android SplashScreen?
- 20. Android исключения, когда выскакивает backstack
- 21. Задачи для Android и BackStack
- 22. Android - Как отобразить Фрагмент Backstack
- 23. Фрагменты Android не вызывают Backstack
- 24. Хранить Android-фрагменты в Backstack
- 25. Android save backstack history history
- 26. Android использовать backstack с фрагментами
- 27. Android peek backstack без popping
- 28. Android popBackStackImmediate анимировать фрагмент backstack
- 29. Как снять backstack в Android?
- 30. Android Фрагмент backstack и вкладки
Но я только хочу показать SplashScreen один раз. Если пользователь закрывает приложение и возвращается, я хочу, чтобы он был непосредственно во втором действии. – AlexanderNajafi
use shared preferences –