能否以编程方式更改手机Airplane mode?Wear OS不可用,咨询移动端可行性
编程控制手机飞行模式的可行性分析
Android平台
Android 9(API 28)及以下版本
可以通过系统API配合权限实现飞行模式的开关,需按以下步骤操作:
- 申请
WRITE_SETTINGS权限:该权限无法通过常规弹窗申请,必须引导用户跳转到系统设置页面手动开启:
Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS); intent.setData(Uri.parse("package:" + getPackageName())); startActivity(intent);
- 修改飞行模式状态:权限获取后,通过
Settings.System类修改系统设置,并发送广播通知系统状态变更:
// 开启飞行模式 Settings.System.putInt(getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 1); // 关闭飞行模式 Settings.System.putInt(getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0); // 发送广播通知系统状态变化 Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); intent.putExtra("state", isAirplaneModeOn); sendBroadcast(intent);
Android 10(API 29)及以上版本
第三方应用完全无法编程控制飞行模式。系统将飞行模式的开关权限列为仅系统应用或拥有特殊系统权限的应用才可执行的操作,第三方应用无法获取相关权限,也没有公开API支持该操作,仅能通过Settings.System.getInt(getContentResolver(), Settings.System.AIRPLANE_MODE_ON)读取当前状态。
iOS平台
iOS全版本均不允许第三方应用直接控制飞行模式。这属于系统级核心控制权限,第三方应用只能引导用户手动进入系统设置修改,或提示用户使用系统快捷指令(但快捷指令需用户手动触发,应用无法自动调用)。
内容的提问来源于stack exchange,提问作者Rishat Amin
相关产品推荐
相关产品推荐

