Завершение деятельности / Намерение - PullRequest
4 голосов
/ 28 августа 2011

Я делаю, чтобы эта программа перешла к другому занятию, чтобы получить некоторые данные, а затем вернула данные через намерение в мое основное занятие.Код, который у меня есть на данный момент, открывает новое действие, он получает и отправляет данные, но, кажется, «перезапускает» мое основное действие, когда вызывается метод 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 ]

3 голосов
/ 28 августа 2011

Вот как это должно работать.Вам нужно переопределить onActivityResult метод вашей основной деятельности, чтобы получить stringPath из намерения.

0 голосов
/ 28 марта 2012

Кажется, что ваша деятельность снова воссоздается.Попробуйте переопределить onSaveInstanceState и использовать savedInstanceState на onCreate.Это должно работать.

0 голосов
/ 28 августа 2011

Хорошо. Кажется, вы пропустили эту строку в своем определении onActivityResult.

super.onActivityResult (requestCode, resultCode, data);

...