若手機處在飛航模式(Airplane Mode)中的話,那麼所有的訊號輸出入都會被停止並關閉,像是藍牙(Bluetooth)及 WIFI 等等。如果晚上睡覺不希望有人打電話來打擾,但又希望手機上的其它程式能正常執行的話,也許可以考慮這樣的模式。
假設筆者寫了一個鬧鐘程式,讓使用者啟用時可以把手機切到飛航模式以防止擾人的來電,等到起床的時間到了之後再自動把飛航模式給關閉。這時若能在程式中自由的控制飛航模式開關的話,那麼使用起來就會比較方便。
我們可使用 android.provider.Settings.System 所提供的 API 來存取系統的設定。例如筆者想知道目前是否已啟用飛航模式的話:
檢視原始碼 Android
import android.content.Context;
import android.provider.Settings;
public static boolean isAirplaneModeOn(Context context){
return Settings.System.getInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) != 0;
}
Settings.System.AIRPLANE_MODE_ON 就是我們要取得的項目,若要取得其它的話可以參考 android.provider.Settings.System 中的常數清單。
要設定飛航模式的開關一樣是跟 android.provider.Settings.System 有關:
import android.content.Context;
import android.content.Intent;
import android.provider.Settings;
public static void setAirplaneMode(Context context, boolean status){
// 先判斷目前是已否開啟飛航模式
boolean isAirplaneModeOn = isAirplaneModeOn(context);
if((status && isAirplaneModeOn) || (!status && !isAirplaneModeOn)){
return;
}
int mode = status ? 1 : 0;
// 設定飛航模式的狀態並廣播出去
Settings.System.putInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, mode);
Intent i = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
i.putExtra("state", mode);
context.sendBroadcast(i);
}
要注意的是,變更系統設定是需要有 android.permission.WRITE_SETTINGS 權限才行的,因此要記得在 AndroidManifest.xml 中加上
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
只要再搭配 android.appwidget.AppWidgetProvider 就能寫個飛航模式切換的 AppWidget 工具囉。但比較麻煩的是,若手機有設定用 PIN 碼開機的話,在關閉飛航模式後它也會需要再輸入 PIN 碼才行。
分享到:
相关推荐
大数据-算法-基于分数阶微积分的飞航式导弹控制系统设计方法研究.pdf 本文研究了基于分数阶微积分的飞航式导弹控制系统设计方法,旨在提高飞航导弹控制系统的性能和鲁棒性。文章首先介绍了分数阶微积分的历史、定义...
飞航导弹控制回路分析CAD软件研究主要涉及以下几个知识点: 1. CAD技术应用: 计算机辅助设计(Computer-Aided Design,简称CAD)是一种利用计算机技术进行设计的技术。在飞航导弹控制系统设计中,CAD技术的应用...
描述飞航导弹红外点源导引头及其组件(探测器、制冷器及光学系统),最后介绍红外成像导引头的先进技术
飞航导弹健康管理系统控制层算法研究是一个至关重要的领域,它涉及到导弹系统的可靠性和安全性。在这一专题中,数据挖掘、信息融合以及故障预测是健康管理技术的三大核心组成部分,它们共同确保了导弹系统的高效运行...
标题中的“NTX.rar_RTX PCI_RTX_PCI_RTX驱动_其他_神州飞航”表明这是一个与RTX PCI相关的驱动程序包,由神州飞航公司提供。RTX PCI是一种可能的实时扩展技术,用于在基于PCI接口的硬件上运行实时操作系统(RTOS)。...
该设备由北京神州飞航科技有限责任公司研发并生产,具有强大的功能和良好的兼容性,能够满足各种复杂的工业测量和控制系统的需求。 #### 2. 产品描述 ##### 2.1 特性 - **接口类型**:PCI/CPCI总线接口。 - **...
总之,747-400的自动驾驶系统和飞航管理系统是一个复杂的网络,涉及到多个相互关联的模式和功能。通过深入学习,飞行员可以更有效地利用这些工具,确保飞行安全和效率。这份教材旨在为机师提供一个全面的了解平台,...
订定「航空器飞航安全相关事件处理规则」.docx
PID控制是一种广泛应用于工业控制领域的技术,其核心是通过比例(Proportion)、积分(Integral)和微分(Differential)三种控制方式的线性组合来构造控制器的控制量,进而对被控对象进行控制。PID控制器的调节控制...
1553B协议是在1978年制定的,作为MIL-STD-1553A的升级版,它提供了一种双工(同时发送和接收)的串行数据通信方式,支持多种通信模式,包括总线控制器(BC)、远程终端(RT)和总线监控器(BM)。这个协议在航空电子...
它允许在生产前对整个制造过程进行模拟,包括工艺规划、设备布局、质量控制等,从而降低实际制造的风险和成本。通过虚拟制造,工程师可以预见到可能出现的问题,提前进行调整,提高生产效率和产品质量。 【总结】 ...
C#、WPF使用技巧,实战应用开发小系统参考资料,源码参考。经测试可运行。 详细介绍了一些WPF框架的各种功能和模块,以及如何使用WPF进行GUI开发、网络编程和跨平台应用开发等。 适用于初学者和有经验的开发者,能够...
- **功耗**: 依据通道数量及工作模式的不同而变化,但总体功耗控制在较低水平,以提高系统的能效比。 #### 六、产品安装指南 1. **安装之前的准备** - 确保安装环境符合规格书中的要求。 - 准备必要的工具和材料...
交通部民用航空局飞航服务总台办事细则.doc
包括音频循环控制、LCD测试、旋律测试、装置测试(如振动、亮度)、触控屏幕...模式控制、USB日志控制、GCF配置、GPS控制菜单、LBS测试模式、RIL倾倒菜单、调试倾倒菜单、系统转存模式、NAND Flash S/N、数据创建菜单、...
由于现代战争中对导弹的飞行控制提出了更高的要求,数字式自动驾驶仪因其相较于传统模拟式的优势,在飞航导弹控制系统中占据着核心地位。 数字式自动驾驶仪的设计方法主要分为三种:连续化方法、离散化方法和连续/...
本文内容聚焦于将模糊控制理论运用于飞航导弹自动驾驶仪设计的背景下,具体探讨了如何运用模糊PID控制器来改善传统PID控制的局限性,并通过MATLAB仿真对控制效果进行详细分析。在飞航导弹飞行过程中,面对参数剧烈...