广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-04-03 22:29:45 次阅读 稿源:互联网
    广告
    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硬件,我们可以通过设置该字符串的值,来控制这三个硬件是否在切换飞行模式是进行切换状态。

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告