Le tue esigenze sono call Splash Screen. Ecco il mio codice della schermata iniziale.
Basta aggiungere una nuova attività e impostare l'applicazione per l'apertura di questa attività.
public class SplashActivity estende DeviceInfoAbstractActivity {
@SuppressLint("MissingSuperCall")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState, R.layout.activity_splash);
passScreen();
}
private void passScreen() {
new CountDownTimer(1000, 2000) {
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
Intent intent = RDAIntentHelpers.getClearCacheIntent();
intent.setClass(SplashActivity.this, MainActivity.class);
startActivity(intent);
}
}.start();
}
@Override
public void onBackPressed() {
//no exit
}
}
e questo metodo il mio getClearCacheIntent()
public static Intent getClearCacheIntent() {
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
return intent;
}
dopo che questi, la vostra schermata iniziale rimane sullo schermo per 2 secondi. Fai quello che vuoi =)
Ma usa 'Handler' invece di' TimerTask'. – inazaruk
Hai testato questo codice sull'emulatore o sul dispositivo reale? Non c'è "Timer" su Android! –
Il timer non è un oggetto Android, è un oggetto java. È un codice funzionante in una delle mie app. Funziona sia su un dispositivo che su un emulatore. Aggiungi quanto segue al tuo elenco di importazione e starai bene: import java.util.Timer; import java.util.TimerTask; –