funchile 发表于 2015-9-30 11:51:20

android获取系统wifi状态等

  WIFI
  获取WIFI状态
  WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
  if(wifiManager != null){
  int wifiState = wifiManager.getWifiState();
  }
  附:Wifi状态有以下几种:(括号内为所对应的的int值)
  1. wifiManager.WIFI_STATE_DISABLED (1)
  2. wifiManager..WIFI_STATE_ENABLED (3)
  3. wifiManager..WIFI_STATE_DISABLING (0)
  4 wifiManager..WIFI_STATE_ENABLING(2)
  设置wifi状态
  WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
  if(wifiManager == null){
  return;
  }
  int wifiApState = wifiManager.getWifiApState();//获取wifi AP状态
  if((boolean值 && wifiApState == wifiManager.WIFI_AP_STATE_ENABLING || wifiApState == wifiManager.WIFI_AP_STATE_ENABLED){
  wifiManager.setWifiApEnabled(null,false);
  }
  wifiManager.setWifiEnabled(boolean值);
  俩处boolean值应相同
  Bluetooth
  蓝牙有待后续补充
  
  GPS
    获取GPS状态
  ContentResolver resolver = context.ContextResolver();
  Boolean on = Settings.Secure.isLocationProviderEnabled(resolver, LocationManager.GPS_PROVIDER);
  true为开启状态
    设置GPS状态:
  Settings..Secure.setLocationProviderEnabled(resolver,LocationManager.GPS_PROVIDER,boolean值);
  true为开启状态
  SYNC(同步)
  获取当前系统同步状态
  ContentResolver resolver = context.ContextResolver();
  Boolean on = resolver.getMasterSyncAutomatically();
  ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
  设置同步
  ContentResolver.setMasterSyncAutomatically(boolean值);
  
  AirplaneMode(飞行模式)
  获取系统当前飞行模式状态
  ContentResolver resolver = context.ContextResolver();
  boolean on = Settings.System.getInt(context.getContextResolver(),Settings.System.AIRPLANE_MODE_ON,0) == 1 ? true : false;
  设置飞行模式:
  Settings.System.putInt(context.getContentResolver(),Settings.System.AIRPLANE_MODE_ON,boolean值 ? 1 : 0);
  Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
  intent.putExtra("state",boolean值);
  context.sendBroadcast(intent);
  俩个boolean值应该一致;
  
  
  自动旋转屏幕
  获取系统当前自动旋屏设置
  ContentResolver resolver = context.ContextResolver();
  boolean on = Settings.System.getInt(context.getContResolver(),Settings.System.ACCELEROMETER_ROTATION) ==1 ? true : false;
  设置自动旋屏
  ContentResolver resolver = context.ContextResolver();
  Uri uri = Settings.System.getUriFor("accelerometer_rotation");
  Settings.System.putInt(resolver,"accelerometer_rotation",boolean值 ? 1 :0);
  resolver.notifyChange(uri,null);
  
  静音模式
  获取静音模式
  public int getMuteMode(Context context){
  AudioManager audioManager = (AudioManager)context.getSystmService(Context.AUDIO_SERVICE);
  if(audioManager.getRingerMode == AudioManager.RINGER_MODE_SILENT){   //静音
  return 0;
  }else if(audioManager.getRingerMode == AudioManager.RINGER_MODE_VIBRATE){//振动
  return 1;
  } elsse {
  retrn 2;
  }
  }
  设置静音模式
  public void setMute(Context context){
  AudioManager audioManager = (AudioManager)context.getSystmService(Context.AUDIO_SERVICE);
  switch(getMuteMode(context){
  case 0:
  audioManager.stRingerMode(AudioManager.RINGER_MODE_VIBRATE); //振动模式
  break;
  case 1:
  audioManager.stRingerMode(AudioManager.RINGER_MODE_NORMAL); //正常模式
  break;
  case 2:
  audioManager.stRingerMode(AudioManager.RINGER_MODE_SILENT); //静音模式
  break;
  default:
  audioManager.stRingerMode(AudioManager.RINGER_MODE_NORMAL); //正常模式
  }
  }
  
  锁屏
  PowerManager pm = (PowerManager)context.getSystemService(context.POWER_SERVICE);
  pm.goToSleep(SystemClock.uptimeMillis());
页: [1]
查看完整版本: android获取系统wifi状态等