Некоторое время прошло с тех пор, как большинство из этих ответов были опубликованы, и некоторые из них теперь не рекомендуются методами и константами.
Я обновил код Ярека , чтобы больше не использовать эти методы и константы:
protected int getScreenOrientation()
{
Display getOrient = getWindowManager().getDefaultDisplay();
Point size = new Point();
getOrient.getSize(size);
int orientation;
if (size.x < size.y)
{
orientation = Configuration.ORIENTATION_PORTRAIT;
}
else
{
orientation = Configuration.ORIENTATION_LANDSCAPE;
}
return orientation;
}
Обратите внимание, что режим Configuration.ORIENTATION_SQUARE
больше не поддерживается.
Я обнаружил, что это надежно на всех устройствах, на которых я тестировал, в отличие от метода, предлагающего использовать getResources().getConfiguration().orientation
Я это исправил! Я пошел на значок подключения, а затем в настройки и удалил соединение Ethernet! так что теперь это не дает мне ошибку!
Убедитесь, что ваше ядро обновлено, и попробуйте:
sudo -s
echo "options ath9k nohwcrypt=1" > /etc/modprobe.d/ath9k.conf