Android: переключить настройку состояния вращения акселерометра

Я нашел множество примеров настройки поворота в вашем приложении, но у меня возникли проблемы с переключением настроек телефонов, расположенных по адресу: Settings, Display, Auto -повернуть экран (флажок).
Я хочу иметь возможность проверить состояние вращения телефона, установить его противоположное (автоматическое или выключенное), а затем закрыть приложение.

Вот что у меня есть:

import android.app.Activity;
import android.os.Bundle;
import android.provider.Settings;
import android.widget.Toast;

public class Rotation extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        try{
        if  (android.provider.Settings.System.getInt(getContentResolver(),Settings.System.ACCELEROMETER_ROTATION, 0) == 1){
            android.provider.Settings.System.putInt(getContentResolver(),Settings.System.ACCELEROMETER_ROTATION, 0);
            Toast.makeText(Rotation.this, "Rotation OFF", Toast.LENGTH_SHORT).show();
            finish();
            }
        else{
            android.provider.Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 1);
            Toast.makeText(Rotation.this, "Rotation ON", Toast.LENGTH_SHORT).show();
            finish();
            }
        }
        catch(Exception e){
            e.printStackTrace();
            Toast.makeText(Rotation.this, "Try failed!", Toast.LENGTH_SHORT).show();
            finish();
        }
    }
}

Если вам нужно узнать больше информации, просто дайте мне знать :)
Любая помощь приветствуется, это меня напрягает!!

7
задан ask.luke 5 April 2012 в 22:16
поделиться