Android 从Handler/Runnable启动新活动

Android 从Handler/Runnable启动新活动,android,multithreading,runnable,android-handler,Android,Multithreading,Runnable,Android Handler,我是新手和新手。我的意图是从Runnable开始一项新的活动。新的活动出现了,但只出现了一秒钟,然后程序全部关闭。我不知道为什么,所以任何帮助都将不胜感激 Boolean handlerrun = true; Intent intent = new Intent(this, newactivity.class); protected void onResume(){ super.onResume(); handler = new Handler(); final Ru

我是新手和新手。我的意图是从Runnable开始一项新的活动。新的活动出现了,但只出现了一秒钟,然后程序全部关闭。我不知道为什么,所以任何帮助都将不胜感激

Boolean handlerrun = true;
Intent intent = new Intent(this, newactivity.class);

protected void onResume(){
    super.onResume();
    handler = new Handler();

    final Runnable r = new Runnable()
    {
        public void run() 
        {
            if (somevalue < 0) {
                handlerrun = false;
            }

            if (handlerrun) {
                handler.postDelayed(this, 1);
            }

            if (!handlerrun) {
                startActivity(intent);
            }
        }
    };

    if (handlerrun) {
        handler.postDelayed(r, 1);
    }
    super.onResume();
}

该代码在停止runnable方面起作用。我听说您可以使用handler.removeCallbacks方法,但由于某些原因,它不能与我的代码一起使用。因此,我使用布尔handlerrun来阻止Runnable重新启动。活动也会出现,但问题是整个程序刚刚结束。我知道我的活动2的代码很好。

首先,你应该将代码放在onCreate中,而不是onResume方法中为什么你调用super.onResume;Twicei你的应用程序是崩溃了还是完全没有错误地关闭了?如果它正在崩溃,请显示异常日志。它关闭时没有错误。而且,我不知道我必须把它放在OnCreate里面。我会尝试一下,看看会发生什么。我试着把它放在OnCreate中。这没什么区别。Logcat没有给我任何错误。另外,如果我将StartActivityContent放在处理程序之外,程序将不再关闭,因此毫无疑问处理程序存在问题。