2012-04-05 18 views
7

he encontrado carga de ejemplos de configuración de rotación dentro su aplicación, pero lo que estoy teniendo problemas con los teléfonos está activando ajuste se encuentra en: Ajustes, Pantalla, Pantalla giratoria (casilla de verificación).
Quiero poder verificar el estado de rotación de los teléfonos, configurarlo en su opuesto (automático o apagado) y luego cerrar la aplicación.Android: Activar rotación acelerómetro estado de ajuste

Esto es lo que tengo:

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(); 
     } 
    } 
} 

si necesita saber más información, házmelo saber :)
cualquier ayuda se agradece, me está haciendo hincapié en fuera !!

+0

¿Está funcionando? ¿Qué pasa si no? – zapl

+0

No, no funciona. Simplemente muestra la captura y luego se cierra. Intenté mover los valores numéricos, pero no cambié. Alguna idea? –

+0

+1 por el truco ... Pasé horas buscando esto ... Gracias –

Respuesta

5

¿Ha establecido el permiso correcto?

no lo hice y el mensaje de detalle excepción dice,

"Permission Denial: writing com.android.providers.settings.SettingsProvider uri content://settings/system from pid=306, uid=10037 requires android.permission.WRITE_SETTINGS"

que prácticamente lo resume todo.

+0

Acabo de intentarlo ahora. ¡¡Funciona genial!! Gracias –

Cuestiones relacionadas