完成活动/意图

时间:2011-08-28 02:59:00

标签: android android-activity android-intent

我正在制作一个程序进入另一个活动来获取一些数据,然后通过意图将数据返回到我的主要活动。我现在的代码确实打开了一个新的活动,它获取并发送数据但似乎在调用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

3 个答案:

答案 0 :(得分:3)

它应该如何运作。您需要覆盖主活动的onActivityResult方法以从意图中获取stringPath。

答案 1 :(得分:0)

确定。您似乎在onActivityResult定义中缺少此行。

  

super.onActivityResult(requestCode,resultCode,data);

答案 2 :(得分:0)

似乎您的活动正在重新创建。尝试覆盖onSaveInstanceState并使用savedInstanceState上的onCreate。它应该工作。