2012�N06��09��

�{���ɂ���ł����́HAndroid�v���O���~���O�ł�Wifi�ڑ���؂�ւ�

Android�v���O���~���O�̊y�ȂƂ���́A��������google�搶�ɐq�˂�ƁA���ؒ��J�ȉ���T�C�g�ɘA��čs���Ă���āA�X�e�L�ȃX�j�y�b�g�܂œy�Y�Ɏ������Ă������ĂƂ���B�������A�X�j�y�b�g�����̂܂܎g���Ă���g���u���ɑ������̂ŁA�^���������ɋL���B

�قƂ�ǂ̃T�C�g�ł́AWifi�̐؂�ւ���WifiManager.enableNetwork(id, true)���g���Ɖ�����Ă���B��������true���d�v�ł���Btrue�ɂ���ƁA���ɐڑ����Ă���l�b�g���[�N��؂藣���Ďw�肵���l�b�g���[�N�Ɍq���B���Ƃ��Έȉ��̂悤�ȃR�[�h�������B

  WifiManager wiman = (WifiManager) getSystemService(Context.WIFI_SERVICE);
  WifiConfiguration conf=null;
  String ssid2 = "\"myAsciiSSID\"";
  for(WifiConfiguration c0 : wiman.getConfiguredNetworks()){
    if(c0.SSID.equals(ssid2)){
      conf = c0;
      break;
    }
  }
  if(conf!=null) wiman.enableNetwork(conf.networkId, true);

�m���ɂ����Wifi�̐ڑ���؂�ւ��ɐ�������B���A�uSSID_A�ɐڑ��v���uSSID_B�ɐڑ��v���uSSID_A�ɐڑ��v�c�ƌ��݂ɐ؂�ւ����J��Ԃ��ƁA�}�Ƀl�b�g���[�N�ɂ‚Ȃ���Ȃ��Ȃ鎞������B�@�����Ƃ��ẮA

  • Android 4.x�ł͔������Ȃ����A2.x�ł͔�������m��������
  • �@��ˑ�������HWeb�ł�Nexus�V���[�Y��Droid�ł̔�Q�񍐂�����
  • �Ȃ����f�B�X�v���C��؂��āA������x�‚���ƒ���
  • �Ȃ����A�u�ݒ聨�����ƃl�b�g���[�N�v���疾���I�ɐڑ�������ƁA����B���̍ہA�‚Ȃ���Ȃ��l�b�g���[�N�́u�����v�ƕ\�������

���낢�뎎�������ʁA�ȉ��̂悤�ɂ���ƘA���Ő؂�ւ��Ă���肭�����悤�ł���B

  WifiManager wiman = (WifiManager) getSystemService(Context.WIFI_SERVICE);
  WifiConfiguration conf=null;
  String ssid2 = "\"myAsciiSSID\"";
  for(WifiConfiguration c0 : wiman.getConfiguredNetworks()){
    if(c0.SSID.equals(ssid2)){
      conf = c0;
      break;
    }
  }
  if(conf!=null){
    wiman.enableNetwork(conf.networkId, true);
    for(WifiConfiguration c0 : m_wiman.getConfiguredNetworks()){
      m_wiman.enableNetwork(c0.networkId, false);
    }
    m_wiman.saveConfiguration();
  }

�Ō�ɑ����ꂽ4�s���d�v�ł���B�������邱�ƂŁA���Ȃ��Ƃ�NexusOne�ł͏Ǐ󂪉��P�����B�������AWifiManager.saveConfiguration()�̌�͂��΂炭WifiManager.getConfiguredNetworks()�̓��������������Ȃ�悤�ŁA��L���[�`����A�ł���ƁA���X���������������Ȃ�B

�ǂ��܂Ő��������킩��Ȃ����l�@�BWifiManager.enableNetwork(id, true)��API�}�j���A���ɂ��ƁA���̃l�b�g���[�N�𖳌������ĖړI�̃l�b�g���[�N�Ɍq���B����āA���Ƃ��ƌq���ł����A�N�Z�X�|�C���g�́u�����v�ɂ���Ă��܂��BAndroid�̓���o�[�W�����ł͖���������Ă��܂����l�b�g���[�N�ɂ�WifiManager.enableNetwork()�ōĂт‚Ȃ����Ƃ��o���Ȃ��B�u�����v�̃^�O�t�����O�����Ƃ����ł���΍Đڑ��ł���̂ŁAWifiManager.enableNetwork(id, false)���g���Ė���������������ifalse���‚��Ė��������O���菇�́AaddNetwork()�̎g�������Q�Ƃ̂��Ɓj�Btrue���‚��Ĉ�x�Ăяo���̂́A�A�N�Z�X��̗D�揇�ʃ��X�g�����������邽�߂ł���B

���Ȃ݂ɏ�L�X�j�y�b�g�̃q���g�́AAndroid 2.3�̃\�[�X�R�[�h���炢���������B packages/apps/Settings/src/com/android/settings/wifi/WifiSettings.java��onClick()�AsaveNetworks()�AenableNetworks()�����肪�Q�l�ɂȂ�B�Ƃ������A�ݒ��ʂ̋������̂܂�܂ł���B �\�[�X��������ƒ��߂邾���Ȃ�gitHub���炢����B
https://github.com/OESF

���x���Fandroid
posted by yuji_at_radiance at 22:31| Comment(0) | TrackBack(0) | �\�t�g�E�F�A | ̃uO̓ǎ҂ɂȂ | XV`FbN
���̋L���ւ̃R�����g
�R�����g������
�����O:

���[���A�h���X:

�z�[���y�[�W�A�h���X:

�R�����g:

�F�؃R�[�h: [�K�{����]


���摜�̒��̕����𔼊p�œ��͂��Ă��������B

���̋L���ւ̃g���b�N�o�b�N
�~

���̍L����90���ȏ�V�����L���̓��e���Ȃ��u���O�ɕ\������Ă���܂��B