2011年10月18日 星期二

Android 3.2 WIFI 與 行動上網 控制

這次要來實作wifi與3g切換時,要自動關閉另一個上網的功能,且不影響網路功能

也就是說

開啟wifi時要自動關閉3g,開啟3g時要自動關閉wifi

所以有要在2個地方增加程式來切換。

(1)修改 \packages\apps\Phone\src\com\android\phone\Settings.java

這隻主要是控制3g按鈕enable動作,找到3g按鍵enable那段程式增加下列程式

WifiManager mWifiManager = 
    (WifiManager)getBaseContext().getSystemService(Context.WIFI_SERVICE);

    mWifiManager.setWifiEnabled(false);



(2)修改 \packages\apps\Settings\src\com\android\settings\wifi\WifiEnabler.java

在public boolean onPreferenceChange(Preference preference, Object value) 最後增加

if (enable == true) {  
        ConnectivityManager cm = (ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE);

        cm.setMobileDataEnabled(false);
  }



重新build image

參考資料來源:
http://developer.android.com/reference/android/provider/Settings.html
http://developer.android.com/reference/android/net/wifi/WifiManager.html

沒有留言:

張貼留言