Мне интересно, как я могу постоянно менять ориентацию экрана (мое приложение работает в фоновом режиме и меняет ориентацию на все приложения, так же, как я переворачиваю телефон). Пожалуйста, помогите.
Невозможно. Каждое приложение работает в песочнице, и вы не можете сказать, что происходит с каким-либо другим приложением. Вы можете делать запросы через намерения, но не так, как вы пытаетесь сделать. Единственный способ - получить источник Android и изменить его, чтобы изменить ориентацию.
Если вы хотите только перевернуть приложение, используйте следующее:
public void switchOrientation() {
if(this.getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
} else{
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
Обычно это контролируется/отображается драйверами видеокарты.
В некоторых случаях вам может потребоваться перейти на уровень набора микросхем, чтобы найти нужное приложение (например, у тонких клиентов HP, которые у меня есть, это недоступно в драйверах по умолчанию, но если я загружаю дополнительное (не поддерживаемое) программное обеспечение от поставщика набора микросхем, они включают инструмент, который позволяет это сделать).
Вы также можете предоставить инструменты, такие как iRotate шоу и посмотреть, делает ли он то, что вам нужно.