我正在製作一個小型項目,其中我將無線網絡設置爲禁用,如果電池電量低於30%。但如果用戶再次啓用wifi,我不希望它再次被禁用。 我做了整個服務類 我的代碼是... 請給任何建議。您的建議對我來說是非常寶貴的..如果我想要一個條件不被檢查兩次,該怎麼辦?
public class BatteryService extends Service
boolean checkwifi;
WifiManager mainWifi;
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
checkwifi = true;
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
}
if (level <= 30 && !isCharging) {
tts.speak(" Battery LOw Connect Phone to Charger",
TextToSpeech.QUEUE_FLUSH, null);
if (checkwifi) {
mainWifi.setWifiEnabled(false);
bt.disable();
closemobiledata();
checkwifi = false;
}
}
更新1:
我發現這個問題,這個問題是服務一次又一次地開始 做什麼,這樣的服務一定不能一次又一次啓動
public class BatteryService extends Service
boolean checkwifi;
WifiManager mainWifi;
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
Toast.makeText(getApplicationContext(), "Service created", Toast.LENGTH_SHORT).show();
checkwifi = true;
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
}
if (level <= 30 && !isCharging) {
tts.speak(" Battery LOw Connect Phone to Charger",
TextToSpeech.QUEUE_FLUSH, null);
if (checkwifi) {
mainWifi.setWifiEnabled(false);
bt.disable();
closemobiledata();
checkwifi = false;
}
}
你需要的是一個廣播接收器得到通知時,網絡連接類型changes..see如下:http://stackoverflow.com/questions/10733121/broadcastreceiver-when-wifi-or -3G網絡狀態改變的 –