android - 使用 AsyncTask 进行 sleep

标签 android android-asynctask

我想使用 AsyncTask 创建启动屏幕。具体来说,在 doInBackground() 方法中,我使用静态方法 Thread.sleep() ,并在创建一个 Intent 后将应用程序重定向到其他 Activity 。我没有收到任何错误,但应用程序没有更改 Activity 。我的代码是:

/***This class redirects the user to the 'MainActivity'. ***/
class RedirectToMainActivityTask extends AsyncTask<Void, Void, Void>
{
    protected Void doInBackground(Void... params)
    {
        try 
        {
            Thread.sleep( 2 * 1000 );
        }
        catch ( InterruptedException e )
        {
            Log.e( "MAINACTIVITY-ERROR", e.getMessage());
            showTheError( "Error while starting MainActivity: " + e.getMessage() );
        }

        Intent intent = new Intent( getApplicationContext(), MainActivity.class );
        intent.addFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP );
        startActivity( intent );

        finish();           
        return null;
    }       
}

最佳答案

确保您在 list 中添加了该 Activity

 <activity android:name="com.example.listissue.SecondActivity"/>

也不要调用 finish()

private class RedirectToMainActivityTask extends AsyncTask<Void, Void, Void>
{
    protected Void doInBackground(Void... params)
    {
        try 
        {
            Thread.sleep( 2 * 1000 );
        }
        catch ( InterruptedException e )
        {
            e.printStackTrace();
        }
        return null;
    } 

    @Override
    protected void onPostExecute(Void result)
    {
          Intent intent = new Intent( getApplicationContext(), SecondActivity.class );
          intent.addFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP );
          startActivity( intent );
    }

}

关于android - 使用 AsyncTask 进行 sleep ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37237573/

相关文章:

android - 使用 AsyncTask 在 UI 上显示的倒数计时器

android - JSONException - 没有成功的值(value) - JsonParser - Android

php - 将字符串数据发送到服务器 : string is not sent? 上的 PHP 文件

android - 在异步任务期间从外部类发布进度?

java - Android(附件模式)和 Windows PC(主机)之间的 USB 通信

java - 如何设置CAMERA权限才能通过常规测试?

android - 在android中创建json

android - 如何从 onResume 调用 onMapReady()

安卓异步任务和

android - NPE 同时向 AChartEngine 折线图添加数据