java - 在 Android 中 5 秒后执行函数

标签 java android timer

我是 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/

相关文章:

java - 如何在没有传输编码 : chunked? 的情况下发送 HTTP 响应

java - 不必要的数据库事务导致速度缓慢?

java.util.Timer - 事件之间的速度不一致?

java - 抽屉导航中的 setText

java - 为什么我要关闭 Java.io.IOException 流?

android - viewflipper仅下一个动画

android - Chrome 自定义标签初始 Okta Auth 不重定向回来

android - 仪器测试对 MVP 的看法

java - 如何动态地启动和结束 tomcat servlet 请求中的计时器或计划作业?

c++ - 在 C++ 中以特定的间隔速率调用方法