获取到的值是在String文件中定义的,如:
<!-- Comma-separated list of bluetooth, wifi, and cell. -->
<string translatable="false">cell,bluetooth,wifi,nfc,wimax</string>
表示如果开启飞行模式下,哪些服务将会被关闭。所以registerForAirplaneMode方法就是在如果蓝牙也受飞行模式影响,那么飞行模式的变化也将使蓝牙服务收到相应广播。
界面上开关就是BluetoothEnabler.java这个类了,而setBluetoothEnabled()则是具体开关动作。其中有开关的回调函数,代码如下:
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// Show toast message if Bluetooth is not allowed in airplane mode
if (isChecked
&& (WifiSettings.needPrompt(mContext) || !WirelessSettings.isRadioAllowed(
mContext, Settings.Global.RADIO_BLUETOOTH))) {
Toast.makeText(mContext, R.string.wifi_in_airplane_mode,
Toast.LENGTH_SHORT).show();
// Reset switch to off
buttonView.setChecked(false);
}
// shouldn't setBluetoothEnabled(true) in airplane mode.
if (mLocalAdapter != null) {
if (isChecked && WifiSettings.needPrompt(mContext)) {
return;
}
mLocalAdapter.setBluetoothEnabled(isChecked);
}
mSwitch.setEnabled(false);
}
Android 4.4.4 发布下载
最简单的Ubuntu Touch & Android 双系统安装方式
在Nexus上实现Ubuntu和Android 4.4.2 双启动
Ubuntu 14.04 配置 Android SDK 开发环境
64位Ubuntu 11.10下Android开发环境的搭建(JDK+Eclipse+ADT+Android SDK详细)