Относительно активности 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