Quiero restringir mi tablet para poner en marcha en específico de la orientación de la pantalla como paisaje. Estoy tomando aquí sobre el conjunto de la tableta no es una aplicación específica, y para asegurarse de que yo no soy de tomar alrededor de bloquear la rotación Automática de la tableta después de su lanzamiento, estoy tomando acerca de la restricción de la tableta para lanzar inicialmente en el paisaje|retrato.
Respuesta
¿Demasiados anuncios?encontró la respuesta, una aplicación que se ejecutará sólo una vez.
crear una aplicación y agregar un permiso a la de manifestar a write_settings y escuchar-a-arranque :
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
a continuación, hacer un receiver
clase que extiende BroadcastReceivertype
, con el fowlloing permisos:
<receiver android:enabled="true" android:exported="true"
android:name="com.example.BootCompletedReceiver"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
a continuación, en la onReceive()
método de la receiver
clase:
ContentResolver contentResolver = context.getContentResolver();
//To handle device rotation
Settings.System.putInt(contentResolver, Settings.System.ACCELEROMETER_ROTATION, 0);
Settings.System.putInt(contentResolver, Settings.System.USER_ROTATION, Surface.ROTATION_90); // 0 for default, then 90, 180, 270
A continuación, ejecute esta aplicación solo una vez para escribir que los permisos para el sistema y, a continuación, usted no necesita otra vez.