You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中如何在postDelayed方法中使用Intent实现闪屏延时跳转

问题原因
  • postDelayed()方法的第一个参数要求接收Runnable接口实例,你直接传入startActivity(startApp)的执行结果,startActivity()为无返回值方法,完全不匹配参数要求,因此会触发报错,同时跳转逻辑会直接执行,无法实现延迟效果。
修正后代码
package id.ac.umn.finalproject;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent startApp = new Intent(MainActivity.this, PemasukanActivity.class);

        // 传入Runnable实例,将跳转逻辑封装在run方法内
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                startActivity(startApp);
                // 跳转后关闭闪屏页,避免按返回键回到该页面,可按需选择是否添加
                finish();
            }
        }, 3000);
    }
}

如果你的项目支持Java 8及以上语法,可以用Lambda简化写法:

new Handler().postDelayed(() -> {
    startActivity(startApp);
    finish();
}, 3000);

内容的提问来源于stack exchange,提问作者Hillary Dorothea Kristianto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 14:45:04