如何使用root在Android 4.2及更高版本上切换飞行模式?

时间:2013-04-07 09:45:27

标签: android root airplane

众所周知,在Android 4.2上,只有系统应用程序可以切换飞行模式。但我认为它必须适用于root设备。我希望在我的Build.VERSION.SDK_INT> = 17的root设备应用程序中实现它。 如何使用Android 4.2在root设备上切换飞行模式?

1 个答案:

答案 0 :(得分:13)

Android 4.2中有一个新的“设置”二进制文件 您也可以在没有su的情况下使用它,那么您的应用程序需要更改应用程序清单中声明的​​此设置所需的权限(对于4.2中的航班模式,这将是WRITE_SECURE_SETTINGS - 仅授予安装在系统分区上的应用程序)。

激活

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

停用

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

对于其他Android版本和其他设置(在4.2之前可以在没有root的情况下激活飞行模式)你可以在settings.db中使用sql注入

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

将“global”替换为“system”或“secure”,将“airplane_mode_on”替换为所需表条目的键。对于某些设置,您需要在之后发送某些广播,请参阅上面的示例了解航班模式。

要探索您的设置。在终端应用中运行此功能:

su
sqlite3 /data/data/com.android.providers.settings/databases/settings.db
.tables
select * from global
select * from secure
select * from system