Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 强制从onCreate活动显示飞溅_Android_Android Activity_Oncreate_Splash Screen - Fatal编程技术网

Android 强制从onCreate活动显示飞溅

Android 强制从onCreate活动显示飞溅,android,android-activity,oncreate,splash-screen,Android,Android Activity,Oncreate,Splash Screen,我的应用程序具有以下活动: 仪表板活动 喷溅活动 主要活动 这是如何要求流量的: 仪表板上有一个启动主活动的按钮。主活动的onCreate()方法检查用户配置文件是否以前创建过,如果是,则它会正常启动(这很快,没有GUI延迟)。 如果找不到用户配置文件,则需要显示一个初始屏幕,其中包含mainActivity的说明/操作方法,同时,main activity的onCreate()会创建一个新的用户配置文件文件(缓慢且GUI阻塞) 我目前看到的是,在缓慢的用户配置文件创建结束后,显示延迟的启动

我的应用程序具有以下活动:

  • 仪表板活动
  • 喷溅活动
  • 主要活动
这是如何要求流量的: 仪表板上有一个启动主活动的按钮。主活动的onCreate()方法检查用户配置文件是否以前创建过,如果是,则它会正常启动(这很快,没有GUI延迟)。 如果找不到用户配置文件,则需要显示一个初始屏幕,其中包含mainActivity的说明/操作方法,同时,main activity的onCreate()会创建一个新的用户配置文件文件(缓慢且GUI阻塞)

我目前看到的是,在缓慢的用户配置文件创建结束后,显示延迟的启动/说明

以下是MainActivity的代码片段

private void showUsage(){
    Thread splashTread = new Thread() {
        public void run() {
            try {
                Intent instructionIntent = new Intent(MainActivity.this,
                        InstructionsActivity.class);
                startActivity(instructionIntent);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    };
    splashTread.start();
}

@Override //MainActivity
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    if (!IsProfileExists()){
        showUsage();
        try{
               createUserProfile(); //slow!
        } catch (Exception e) { }
    }

    /*Continue with MainActivity*/
  }
点击一下,飞溅物就会自行消失:

   public class InstructionsActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.instructions_layout);
    ImageView instructions = (ImageView) findViewById(R.id.ivInstructions);
    instructions.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            finish();
        }
    });
}
}
问题是: GUI从MainActivity onCreate()获取块后,将显示指令活动(splash)


有任何线索吗?

从Dashboard activity执行条件检查(IsProfileExists()),如果配置文件不存在,则调用启动活动。

我不希望出现此流程,因为当从主活动中按下后退按钮时,它将返回启动!!我不希望飞溅物再次出现。您知道解决此问题的方法吗?您可以从堆栈中删除splashActivity,并在Splash上调用finish。所以它不会出现在后按键上。类似于这样的,instructions.setOnClickListener(new View.OnClickListener(){public void onClick(View v){Intent Intent Intent=new Intent(InstructionsActivity.this,MainActivity.class);startActivity(Intent);finish();});我不知道finish()会从堆栈中删除一个活动。谢谢