2013-12-20 4 views
0

Я использую следующий метод для определения текущей ориентацииПолучить ориентацию устройства, не зная контекст

public boolean isPortrait() { 
    int orientation = mContext.getResources().getConfiguration().orientation; 
    return orientation == Configuration.ORIENTATION_PORTRAIT; 
    } 

А теперь я хочу, чтобы переместить этот метод, чтобы отделить класс и сделать их статическими, чтобы иметь возможность доступа к нему со следующим синтаксисом Orientation.isPortait. Проблема заключается в Context, которую я должен использовать для определения ориентации. Есть ли способ получить ориентацию устройства без Context, Activity и т. Д.?

UPDATE:

Все, что мне нужно упростить свой код и сделать его короче. Вот почему я не хочу использовать или передавать в Context вообще.

+0

Хорошо, вы хотите быть разными. Большинство из нас, когда у нас нет контекста, и мы нуждаемся в нем, мы предоставляем его в конструкторе классов. Андроид SDK постоянно делает это – ramaral

ответ

0

Pass Контекст в isPortrait():

public boolean isPortrait(final Context context) { 
    int orientation = context.getResources().getConfiguration().orientation; 
    return orientation == Configuration.ORIENTATION_PORTRAIT; 
} 

Тогда просто передать контекст isPortrait():

Orientation.isPortrait(this); //this or whatever context you have 
+0

Thx, но он не подходит для меня. Некоторые мои классы вообще не имеют контекста. – user1248568

Смежные вопросы