Я прочитал, что после вращения экрана снова создается андроидная активность. Я понял, как восстановить представление, но я не понимаю, могу ли я начать с того, где метод был остановлен после поворота экрана.Восстановить метод после поворота экрана на android
ответ
Восстановление после вращения экрана.
В самой простой форме вы сохраняете то, что вам нужно, чтобы воссоздать, где вы остановились в методе onSaveInstanceState. Таким образом, для вашего основного фонарика вы сохраняете состояние света. Для вас более сложные приложения сохраняют все глобальные поля. Flashlight имеет глобальную переменную isFlashOn.
private boolean isFlashOn = false;
сохранить состояние фонарика в onSaveInstanceState
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBoolean(ISON, isFlashOn);
}
Тогда в OnCreate метод вы воссоздавать глобальную переменную.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState != null) {
isFlashOn = savedInstanceState.getBoolean(ISON);
}
В дальнейшем процесс onstart обрабатывает isFlashOn. Этот фонарик включается одним щелчком мыши, поэтому я изменяю состояние isFlashOn и вызываю обработчик кликов.
@Override
protected void onStart() {
super.onStart(); // Always call the superclass method first
if (camera == null) {
camera = Camera.open();
}
//flip the isflashon and then click the button
isFlashOn = !isFlashOn;
onClick(null);
}
обрабатывать клик.
public void onClick(View arg0) {
ImageButton i = (ImageButton) findViewById(R.id.imageButton1);
final Parameters p = camera.getParameters();
if (isFlashOn) {
i.setImageResource(R.drawable.ic_launcher);
isFlashOn = false;
p.setFlashMode(Parameters.FLASH_MODE_OFF);
} else {
i.setImageResource(R.drawable.ic_launcher2);
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(p);
// Set flag to true
camera.startPreview();
isFlashOn = true;
}
Good Luck
Если был установлен способ, который вы выполняли в тот момент, когда вы повернули экран, метод завершит его работу.
Это не будет приостановлено или что-либо еще, поскольку его «невозможно» сделать это.
Если этот конкретный метод был важным для вашего приложения/деятельности, вы должны затем называть его снова при активном отдыхе.
Но если это мехтод, который сохранит какое-то важное значение, и он не приостановлен, то я не могу повернуть экран –
Я не понял, что вы просто сказал? Вы всегда можете повернуть экран, если вы не заблокируете его для этого действия. Неважно, что делает этот метод, он выполнит свою работу, даже если вы повернете экран, отметьте комментарий njzk2 для приятного объяснения. – JanBo
В таких случаях, когда вы поворачивали экран и, например, вы использовали Thread, который работал над загрузкой данных из веб-службы, вы должны остановить этот поток и запустить его снова после его воссоздания;). – JanBo
- 1. восстановить изображение после поворота экрана
- 2. Android CheckBox - восстановление состояния после поворота экрана
- 3. как вызвать метод sizeForItemAtIndexPath после поворота экрана
- 4. Метод Android Checkbox прослушивается сразу после поворота экрана
- 5. Предотвращение поворота экрана на Android
- 6. Фрагменты Android, перекрывающиеся после поворота экрана
- 7. Ошибки Android Edittext, исчезающие после поворота экрана
- 8. Восстановить позицию поворотника в фрагменте, после поворота экрана
- 9. Фрагмент Android не добавляется после поворота экрана
- 10. Android MediaRecorder. Продолжить запись после поворота экрана
- 11. Android кока получает нуль после поворота экрана
- 12. фрагменты Android перекрываются после поворота экрана
- 13. Android Изменение поворота экрана
- 14. Обновить активность после поворота экрана
- 15. Восстановление FragmentActivity после поворота экрана
- 16. Фрагмент больше не отображается после поворота экрана
- 17. Не перезагружать recyclerview после поворота экрана
- 18. Android AlarmManager без поворота экрана
- 19. сохранить Intent после поворота экрана
- 20. CollectionView отличается после поворота экрана
- 21. TextView исчезает после поворота экрана
- 22. Диалог восстановления после поворота экрана
- 23. Диалог поворота экрана на Android 4.3
- 24. Dismiss Dialog Фрагмент после поворота экрана
- 25. Метод вызова на вращение экрана Android
- 26. ViewPager Фрагменты исчезают после поворота экрана
- 27. Упорно контекстное меню после поворота экрана
- 28. Восстановить объект после отображения поворота в фрагменте
- 29. Android ScrollView не заполняет всю ширину экрана после поворота
- 30. UICollectionViewLayout - invalidateLayout() работает только после поворота экрана
ваш метод не останавливается, когда экран вращается. – njzk2
@ njzk2 Как действие разрушено, как это может быть правдой? – Simon
Но если действие создано снова, как оно сохраняется? Проблема в том, что я должен заблокировать вращение экрана, если я не могу восстановить метод, который был остановлен. –