在我的應用程序中,我有MainActivty應該總是在protrait中查看。如果我將設備轉向橫向,則切換到TrendsActivity(以顯示一些圖)。當我切換回波泰特我只是在TrendsActivity稱之爲改變方向變化時的活動
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
Intent intent = new Intent(this, TrendsActivity.class);
startActivity(intent);
}
}
然後:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
{
finish();
}
}
這完成的全自動移回MainActivity活動這是由folliwing代碼MainActivty完成。到現在爲止還挺好。但是如果我在TrendsActivity中按下後退按鈕,我會以橫向模式返回到MainActivity,而我不想那樣做。我試圖調用MainActivity下面的代碼:
@Override
protected void onRestart()
{
super.onRestart();
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
這是不行的,因爲現在的onConfigurationChanged()如果MainActivity不會被調用......
怎麼辦?
爲什麼不直接在清單中指定說MainActivity應打開肖像模式和TrendsActivity應在開闊的景觀中的代碼?試過了嗎? – JoelFernandes