Android:延迟

时间:2016-03-11 08:45:55

标签: java android facebook redirect

所以我正在为一个大学项目开发​​一个简单的应用程序,并且我已经能够使用片段集成Facebook登录。

但我现在被困在尝试重新定位用户登录后。我只是想将它们重定向到第二个活动页面

这是我登录Facebook登录成功的代码

private FacebookCallback<LoginResult> mCallback=new FacebookCallback<LoginResult>() {
    @Override
    public void onSuccess(LoginResult loginResult) {
        AccessToken accessToken = loginResult.getAccessToken();
        Profile profile = Profile.getCurrentProfile();
        if (profile != null) {
            display.setText("Welcome: " + profile.getFirstName());
            //Redirect to Second Activity

        }

} 

5 个答案:

答案 0 :(得分:5)

要进行延迟转换,请使用Handler类的postDelayed(Runnable r, long delayMillis)方法,例如:

   Runnable r = new Runnable() {

            @Override
            public void run() {
                // if you are redirecting from a fragment then use getActivity() as the context.
                startActivity(new Intent(CurrentActivity.this, TargetActivity.class));

            }
        };


        Handler h = new Handler();
        // The Runnable will be executed after the given delay time
        h.postDelayed(r, 1500); // will be delayed for 1.5 seconds

答案 1 :(得分:2)

只需通过意图调用新活动:

Intent i = new Intent(LoginActivity.this, HomeActivity.class);
startActivity(i);
finish();

答案 2 :(得分:2)

检查: -

new Handler().postDelayed(new Runnable() {
                  @Override
                  public void run() {

                      Intent i=new Intent(CurrentActivity.this,Next.class);
                      startActivity(i);
                  }
              }, 3000);

答案 3 :(得分:2)

  

Handler允许您发送和处理Message和Runnable对象   与线程的MessageQueue相关联。每个Handler实例都是   与单个线程和该线程的消息队列相关联。什么时候   你创建一个新的Handler,它绑定到线程/消息队列   正在创建它的线程 - 从那时起,它将传递   消息和runnables到该消息队列并按它们执行它们   从消息队列中走出来。

您可以轻松使用处理程序 postDelayed方法。

Handler hd = new Handler();
            hd.postDelayed(new Runnable() {
                @Override
                public void run() {

               // Add Your Intent

             }

            }, 2000); // Time Delay ,2 Seconds 
     }

答案 4 :(得分:0)

在科特林;

  val r = Runnable {

        startActivity(Intent(this, AuthorActivity::class.java))
    }
    val h = Handler()

    h.postDelayed(r, 10)