Новое для Android. Здесь я создаю приложение, в котором, когда меняется Ориентация. Я хочу сообщение в своем LogCat. Для этого я применил метод onConfigurationChanged (Configuration newConfig) в MainActivity, но он не вызывается при запуске программы.Android onConfigurationChanged() не вызывается во время программы ориентации в Android
В принципе, я хочу прекратить свою деятельность после перезапуска при изменении ориентации устройства. Чтобы сделать это, я изменил свою деятельность в файле манифеста: Я использовал
android:configChanges="orientation|screenSize"
android:minSdkVersion="8"
android:targetSdkVersion="17"
ON LogCat Я получаю текст следующим образом:
Emulator without GPU emulation detected.
Приложение может делать слишком много работы на его основной нить.
я уже нашел решение через Google, в котором выше targetSdkVersion "17" мы use--
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|layoutDirection"
Он также не работает.
Может ли кто-нибудь помочь мне?
Это мой MainActivity:
package com.example.orientation;
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Configuration c = getResources().getConfiguration();
Log.e("Config",""+c);
if (c.orientation == Configuration.ORIENTATION_PORTRAIT)
{
// portrait
Log.e("On Config Change","portrait");
}
else if (c.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
// landscape
Log.e("On Config Change","LANDSCAPE");
}
}
}
Однако Программа работает при изменении ориентации, но метод onConfigurationChanged() не вызывается.
Кто-нибудь знает, почему это может произойти?
Вы можете добавить Log.e() заявление в качестве первой строки в 'onConfigurationChanged()', чтобы подтвердить, что нить не входит вообще. Также попробуйте добавить строку '@ Override' для' onConfigurationChanged() ', чтобы гарантировать правильность подписи' onConfigurationChanged() '. Ваш редактор IDE покажет ошибку, если что-то не так в сигнатуре. – faizal
Вы используете 'setRequestedOrientation()'? См. Http://stackoverflow.com/a/6109206/2105986. – faizal