【发布时间】:2011-08-28 02:58:59
【问题描述】:
我正在制作一个程序,该程序将进入另一个活动以获取一些数据,然后通过意图将数据返回到我的主要活动。我目前拥有的代码确实打开了一个新活动,它获取并发送数据,但似乎在调用 finish() 时“重新启动”了我的主要活动。
问题:如何停止我的第二个活动重新开始我的主要活动?
主要活动:
Intent intent = new Intent(AndroidVideoPlayer.this, FileChooser.class);
intent.putExtra("dir", 1);
startActivityForResult(intent, requestCode);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d("CheckStartActivity","onActivityResult and resultCode = "+resultCode);
// TODO Auto-generated method stub
myPath = data.getStringExtra("stringPath");
textEmpty.setText(myPath);
myUri = Uri.parse(myPath);
mp = MediaPlayer.create(this, myUri);
}
次要活动:
Intent intent = new Intent(FileChooser.this,AndroidVideoPlayer.class);
intent.putExtra("stringPath",intentPath1);
setResult(1,intent);
finish(); // <--- does close activity, but restarts main activity
【问题讨论】:
-
当你完成一个活动想要返回上一个活动的结果,不要创建新的意图,你应该调用getIntent;意图意图 = getIntent();像你一样设置结果并完成
标签: android android-activity android-intent