我是 android 开发的新手,现在我的启动器 Activity 只显示 5 秒,之后我想检查用户是否登录并执行操作。
这是我的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
exactPreferences = getSharedPreferences("ExactPreference",MODE_PRIVATE);
setContentView(R.layout.activity_landing_page);
session = exactPreferences.getString(Model.getSingleton().SHARED_SESSION_ID,null);
Log.i("Session Id",session);
displayData(); // I want to perform this function after 5 seconds.
}
private void displayData() {
if(session.equals("")){
Intent loginIntent = new Intent(LandingPage.this,
LoginActivity.class);
startActivity(loginIntent);
Log.i("User Logged In", "False");
}
else
{
Intent objIntent = new Intent(LandingPage.this,
IndexPageActivity.class);
startActivity(objIntent);
Log.i("User Logged In", "True");
}
}
最佳答案
您可以使用Handler添加一些延迟。如下调用方法displayData()
,使其在5秒后执行。
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
displayData();
}
}, 5000);
注意:不要使用像 Thread.sleep(5000);
这样的线程,因为它会阻塞您的 UI 并使其无响应。
关于java - 在 Android 中 5 秒后执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31041884/