我已经在SplashScreen活动中添加了onPause来覆盖MainActivity,但是它不起作用。而且我已经搜索了互联网,但仍然找不到该怎么做的方法。即使我按下主页按钮,它也总是启动MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
Thread splashScreenThread = new Thread() {
@Override
public void run() {
try {
sleep(2000);
super.run();
} catch (InterruptedException e) {
Log.e(this.getClass().getSimpleName(), "showSplashScreen: " + e.getMessage());
} finally {
Intent moveToHomeActivityIntent = new Intent(SplashScreenActivity.this, HomeActivity.class);
startActivity(moveToHomeActivityIntent);
finish();
}
}
};
splashScreenThread.start();
}
@Override
protected void onPause(){
super.onPause();
finish();
}
请尝试使用此方法将起作用
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(getApplicationContext(), HomeActivity.class));
finish();
}
}, 2000);
只需转到您的Manifest.xml并将您的活动默认为SplashScreenActivity
更改此
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SplashScreenActivity" />
至此
<activity android:name=".SplashScreenActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
我已经找到答案了!它是如此简单且易于实现。只需遵循此link上的说明感谢@Zun提供参考