php检测手机是否开飞行模式,android 如何判断当前是否为飞行模式

Android中如何判断系统当前是否处于飞行模式中:

public static boolean IsAirModeOn(Context context) {

return (Settings.System.getInt(context.getContentResolver(),

Settings.System.AIRPLANE_MODE_ON, 0) == 1 ? true : false);

}

如何切换飞行模式

public static void setAirplaneMode(Context context, boolean enabling) {

Settings.System.putInt(context.getContentResolver(),

Settings.System.AIRPLANE_MODE_ON, enabling ? 1 : 0);

Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);

intent.putExtra("state", enabling);

context.sendBroadcast(intent);

}

如何注册和取消自动飞行时间

注册

AlarmManager am = (AlarmManager) context

.getSystemService(Context.ALARM_SERVICE);

Intent intent = new Intent(AIR_ALERT_ACTION);

Parcel out = Parcel.obtain();

air.writeToParcel(out, 0);

out.setDataPosition(0);

intent.putExtra(AIR_RAW_DATA, out.marshall());

PendingIntent sender = PendingIntent.getBroadcast(context, 0, intent,

PendingIntent.FLAG_CANCEL_CURRENT);

am.set(AlarmManager.RTC_WAKEUP, atTimeInMillis, sender);取消

AlarmManager am = (AlarmManager) context

.getSystemService(Context.ALARM_SERVICE);

endingIntent sender = PendingIntent.getBroadcast(context, 0,

new Intent(action), PendingIntent.FLAG_CANCEL_CURRENT);

am.cancel(sender);

如何控制切换飞行模式的硬件(cell,Bluetooth,wifi)

Settings.System.putString(context.getContentResolver(),

Settings.System.AIRPLANE_MODE_RADIOS, air_mode_radios);air_mode_radios为一个这样的字符串,看android源码中android/provider/Settings.java

/***

* Whether Airplane Mode is on.

*/

public static final String AIRPLANE_MODE_ON = "airplane_mode_on";

/***

* Constant for use in AIRPLANE_MODE_RADIOS to specify Bluetooth radio.

*/

public static final String RADIO_BLUETOOTH = "bluetooth";

/***

* Constant for use in AIRPLANE_MODE_RADIOS to specify Wi-Fi radio.

*/

public static final String RADIO_WIFI = "wifi";

/***

* Constant for use in AIRPLANE_MODE_RADIOS to specify Cellular radio.

*/

public static final String RADIO_CELL = "cell";

/***

* A comma separated list of radios that need to be disabled when airplane mode

* is on. This overrides WIFI_ON and BLUETOOTH_ON, if Wi-Fi and bluetooth are

* included in the comma separated list.

*/

public static final String AIRPLANE_MODE_RADIOS = "airplane_mode_radios";

/***

* A comma separated list of radios that should to be disabled when airplane mode

* is on, but can be manually reenabled by the user. For example, if RADIO_WIFI is

* added to both AIRPLANE_MODE_RADIOS and AIRPLANE_MODE_TOGGLEABLE_RADIOS, then Wifi

* will be turned off when entering airplane mode, but the user will be able to reenable

* Wifi in the Settings app.

*

* {@hide}

*/

public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios";

如果air_mode_radios=“cell,bluetooth,wifi”,这就便是切换飞行模式是切换字符串中的这cell,bluetooth,wifi硬件,我们可以通过设置该字符串的值,来控制这三个硬件是否在切换飞行模式是进行切换状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值