我的 android 应用程序需要像在状态机中一样运行一系列事件
事件一:播放视频#1
事件 2:加载图像并等待按钮按下
活动 3:播放视频 #2
ETC...
一种方法是为每个事件生成一个单独的活动,但是有超过 20 个事件,我认为有一种更简单的方法。
所以我编写了这样的状态机:
int mState = 0;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//
switch(mState) {
case 0:
Boolean flag = videoIntent(url0);
break;
case 1:
flag = loadImage(img1);
}
}
public Boolean videoIntent(String video) {
mBundle.putString("url",video );
Intent myIntent = new Intent();
myIntent.putExtras(mBundle);
myIntent.setClass(mySM.this, SM_vPlayer.class);
startActivity(myIntent);
mState ++;
return true;
}
public Boolean loadImage(String image) {
//load image
mState ++;
return true;
}
问题:在开始播放视频的意图后(该活动有一个监听器等待完成),然后调用完成()。
finish() 将在哪里返回 onCreate、onResume 或其他方法?
如何回到 switch 语句?
有更好的方法吗?