¿Cómo cambiar el Modo de Avión en Android 4.2 o superior usando root?

Como es sabido, en Android 4.2 sólo las aplicaciones del sistema pueden cambiar el modo de avión. Pero creo que debe estar disponible para los dispositivos con raíces. Y quiero implimentarlo en mi aplicación para dispositivos con raíz con Build.VERSION.SDK_INT> = 17. Cómo cambiar el modo de avión en los dispositivos con Android 4.2?

También hay un nuevo binario de "configuración" en Android 4.2 También puedes usarlo sin su, entonces tu aplicación necesita el permiso necesario para cambiar esta configuración declarada en el manifiesto de tu aplicación (que sería WRITE_SECURE_SETTINGS para el modo de vuelo en 4.2 – que sólo se concede A las aplicaciones instaladas en la partición del sistema).

Activar

su settings put global airplane_mode_on 1 am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true 

Desactivar

 su settings put global airplane_mode_on 0 am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false 

Para otras versiones de android y otros ajustes (modo de vuelo se puede activar sin root antes de 4.2) puede utilizar sql injects en settings.db

 su sqlite3 /data/data/com.android.providers.settings/databases/settings.db insert into global values(null, 'airplane_mode_on', 1); 

Reemplace "global" por "system" o "secure" y "airplane_mode_on" con la clave de la entrada de tabla deseada. Para algunos ajustes es necesario enviar ciertas transmisiones después, vea el ejemplo anterior para el modo de vuelo.

Para explorar tu settings.db ejecuta esto en una aplicación de terminal:

 su sqlite3 /data/data/com.android.providers.settings/databases/settings.db .tables select * from global select * from secure select * from system 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.