2011-12-14 13 views
5

Próbuję cześć android ustawienie blokady obrót - I want moja aplikacja do wyświetlania w dowolnej orientacji ekranu głównego jest zablokowana w Znalazłem następujące pokręteł:uhonorowanie blokada obrotów w android

  1. Settings.System .ACCELEROMETER_ROTATION - określić, czy orientacja ekranu jest zablokowana.
  2. Display.getRotation() - określa, czy urządzenie jest obracane z "naturalnej" orientacji, która może być portretem lub krajobrazem.
  3. Display.getWidth()/getHeight() - określa bieżącą orientację urządzenia.

Pomyślałem, że byłoby to proste, ale nie mogę znaleźć odpowiedniej kombinacji powyższych, aby to zadziałało. Zgłoszone wartości wydają się niekonsekwentne, zwłaszcza podczas uruchamiania aplikacji (czy jest to odpowiednie miejsce do sprawdzenia tych wartości?).

Uwaga Nie chcę po prostu zawsze ustalać orientacji mojej aktywności na portret lub krajobraz, chcę ustawić orientację, w której użytkownik zablokował ekran. W przypadku tabletów może to być krajobraz lub portret. Jeśli użytkownik ustawi ustawienie Autoobracanie, chcę, aby moja aktywność działała w trybie czujnika.

Odpowiedz

3

po godzinach debugowania wygląda na to, że odpowiedź jest tak prosta, jak sprawdzenie, czy obrót jest zablokowany, a jeśli tak, wywołanie metody setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_NOSENSOR). Przepraszam, kiedy idę z najbliższym mostem ...