Относительно активности Android

м сталкивается с большой проблемой, связанной сActivity, Мой сценарий выглядит следующим образом:

Я запускаю упражнение А, нажимаю на кнопку, затем выбираю изображение из галереи, затем вonActivityResult Я звонил .startActivity(B)

Теперь в моей Деятельности B это изображение, выбранное в A, было показано наListView который показывает.

Теперь по нажатию кнопки, которую я назвалstartActivityforResult(Recorder class) открыл новое действие, которое является пользовательским действием видеозаписывающего устройства.

Сейчас в записи активности по нажатию кнопки «Стоп»mediaRecorder останавливает, выпускает и сохраняет видео, а затем послеsetResult он снова переходит к деятельности B вonActivityResult(), Но вот проблема:

Два разных случая я нашел здесь:

Первый, когда я объявил свой класс Recorder как Landscape:

При нажатии кнопки «Стоп» в классе «Рекордер» мой экран становится черным, и через несколько секунд начинается действие А.

Во-вторых, когда я изменил ориентацию класса Recorder на портретный режим:

Здесь при нажатии кнопки «Стоп» в классе «Запись» начинается действие «В» (без черного экрана), но снова через несколько секунд начинается действие «А».

Еще одна вещь, которую я заметил здесь:

Я заменилstartActivityForResult() сstartActivity() в деятельности B и из Recorder Activity я снова позвонилstartActivity(B) который показывает активность B, но здесь через несколько секунд происходит что-то новое, та же самая активность B начинается снова.Я уверен, что это только из-заMediaRecorder как, когда я прокомментировал весь код медиа-рекордер из моегоRecorder класс тогда было нормально.

Мой класс Code of Recorder находится здесь:

public class Recorder extends Activity implements SurfaceHolder.Callback{

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mediaRecorder = new MediaRecorder();
        setContentView(R.layout.recorde);
        initMediaRecorder();

        timer = new Timer();
        TimerTask timerTask = new TimerTask() {
            @Override
            public void run() {
                if(counter

Ответы на вопрос(2)

Ваш ответ на вопрос