我的应用有以下活动:
这是如何需要流程的: 仪表板有一个启动MainActivity的按钮。主活动的onCreate()方法检查先前是否创建了用户配置文件,如果是,则它正常启动(这很快,没有GUI延迟)。 如果未找到用户配置文件,则需要显示具有mainActivity指令/操作方法的启动屏幕,同时主活动的onCreate()创建新的用户配置文件(缓慢和GUI阻止)。 / p>
我目前看到的是在用户配置文件创建结束后显示延迟的启动/说明。
以下是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*/
}
Splash通过点击解散自己:
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()获取阻止后,将显示指令活动(启动)。
任何线索?
答案 0 :(得分:1)
从dashBoardActivity进行条件检查(IsProfileExists())并在配置文件不存在时调用Splash活动。