众所周知,在 Android 4.2 上,只有系统应用程序可以切换飞行模式。但我认为它必须适用于 root 设备。我想在我的应用程序中将其实现为具有 Build.VERSION.SDK_INT>=17 的 root 设备。
如何在 Android 4.2 的 root 设备上切换飞行模式?
Android 4.2 中有一个新的“设置”二进制文件
您也可以在没有 su 的情况下使用它,然后您的应用程序需要更改应用程序清单中声明的此设置所需的权限(对于 4.2 中的飞行模式,这将是 WRITE_SECURE_SETTINGS - 仅授予安装在系统分区上的应用程序)。
Activate
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”替换为所需表条目的键。对于某些设置,您需要随后发送某些广播,请参阅上面的飞行模式示例。
要探索您的settings.db,请在终端应用程序中运行以下命令:
su
sqlite3 /data/data/com.android.providers.settings/databases/settings.db
.tables
select * from global
select * from secure
select * from system
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)