2013-11-10 4 views
1

Что я пытаюсь сделать, так это закрыть Activity, если пользователь меняет ориентацию посередине использования.android - как закончить действие при изменении ориентации?

Я добавил к этой деятельности следующую строку в манифесте -

android:configChanges="orientation" 

и я также переопределить onConfigurationChanged:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    finish(); 
} 

Но мне кажется, что он не делает трюк, так что я делаю неправильно здесь?

+0

Вы пытаетесь закончить деятельность независимо от ориентации? Что-то вроде: если ориентация теперь является портретом, закончить операцию. ... но ничего не делайте, если он находится в ландшафте – gunar

+0

well whetevr - это ориентация, когда пользователь вступил в действие, если он решил переключить его, чем он закроет активность – 4this

ответ

1

Также добавьте keyboardHidden и screenSize.

android:configChanges="orientation|keyboardHidden|screenSize" 

ПРИМЕЧАНИЕ: Размер экрана только если ваши цели применения на уровне API 13 или выше.

-1

Линия, добавленная в манифест, означает, что пользователь не может изменить ориентацию. Удалите его

+0

ОК, я это сделал - но все же, это не закрывать деятельность – 4this

0
int a=3; 

public void onConfigurationChanged(Configuration newConfig) { 
super.onConfigurationChanged(newConfig); 

// Checks the orientation of the screen 
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
    if(a==3 || a==0) 
    { 
     a=0; 
    }else 
{ finish(); } 
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
    if(a==3 || a==1) 
    { 
     a=0; 
    }else 
{ finish(); } 
} 
} 
Смежные вопросы