Stworzyłem aplikację w stylu uruchamiania ekranu głównego: po uruchomieniu działania ekranu głównego uruchamiany jest zegar, na końcu którego chcę wyświetlić inny układ informujący, że "upłynął czas oczekiwania! Proszę czekać x minut przed rozpoczęciem większej liczby gier!"
Osiągnąłem to do pewnego końca, wykorzystując setContentView()
metoda wielokrotna w ramach jednego działania,jednak kod staje się zagracony i dość niestabilny. Byłoby znacznie lepiej powiązać ekran Przekroczono czas z zupełnie inną Aktywnością. Problem polega na tym, że jeśli przekroczysz limit czasu, możesz po prostu nacisnąć przycisk Home, aby pominąć limit czasu i wrócić do ekranu głównego.
Poniżej znajduje się kod, którego użyłem do ustawienia działania ekranu głównego:
ComponentName secComponent = new ComponentName(HomeScreen.class.getPackage().getName(), HomeScreen.class.getName());
mPackageManager.setComponentEnabledSetting(secComponent, Constants.mPackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
startActivity(intent);
Tak więc w przypadku powyższego, HomeScreen.klasa zostanie ustawiona jako działanie ekranu głównego, ale ponieważ moja aplikacja zastępuje ekran główny, istnieje łatwy sposób na przejście z HomeScreen.class na inne działanie w mojej aplikacji bez konieczności żądania zgody użytkownika (w takim przypadku " d móc odrzucić limit czasu)?
Odpowiedzi:
0 dla odpowiedzi № 1Wygląda na to, że jedynym sposobem na przełączanie się między takimi rzeczami jest posiadanie wyjątkowego działania i ostrożne wykorzystanie setContentView()
wiele razy.