源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

android 如何判断当前是否为飞行模式

  • 时间:2020-06-07 04:18 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android 如何判断当前是否为飞行模式
Android中如何判断系统当前是否处于飞行模式中:
[u]复制代码[/u] 代码如下:
public static boolean IsAirModeOn(Context context) { return (Settings.System.getInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) == 1 ? true : false); }
如何切换飞行模式
[u]复制代码[/u] 代码如下:
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); }
如何注册和取消自动飞行时间 注册
[u]复制代码[/u] 代码如下:
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)
[u]复制代码[/u] 代码如下:
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)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部