У меня есть активность всплеска, которая должна появляться в течение короткого периода времени до запуска домашней активности. Это мой код:Как запустить активность заставки только тогда, когда приложение запустилось заново?
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class SplashActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
/****** Create Thread that will sleep for 5 seconds *************/
Thread background = new Thread() {
public void run() {
try {
// Thread will sleep for 2.5 seconds
sleep(2500);
//Remove activity
finish();
// After 2.5 seconds redirect to another intent
Intent i=new Intent(getBaseContext(),HomeActivity.class);
startActivity(i);
} catch (Exception e) {
}
}
};
// start thread
background.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
В настоящее время это работает отлично за исключением того факта, что, когда я возвращаюсь к исходному экрану (без явного убийства приложения), и возобновить его, он показывает заставку еще раз. Как обеспечить отображение заставки только при запуске приложения заново?
Это немного неясно. Приложение запускается «свежо» с homeacreen, если активность была уничтожена (пользователь отжимает или ОС явно уничтожает приложение). Или приложение возобновляется, если пользователь нажимает кнопку «домой» или, например, получает звонок. Укажите, что вы имеете в виду: «Запустите приложение« Fresh ». Если вы имеете в виду каждый раз, когда создается новый экземпляр, мой ответ работает так, как вы его намереваетесь. – Marcus
Что я имею в виду, если в настоящий момент не работает экземпляр приложения, я хочу отобразить экран заставки. После входа в приложение, если я нажму кнопку «домой», а затем нажмите значок приложения, я не хочу, чтобы экран заставки отображался, потому что существующий экземпляр приложения уже запущен. – SoulRayder