需要配置權限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
判斷Android的WIFI與GPS狀態
private void checkWifiAndGpsStatus() { boolean result = true; /* 取得WifiManager與LocationManager */ WifiManager wManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); LocationManager lManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); /* 確認WiFi服務是關閉且不在開啟運行中 */
if (!wManager.isWifiEnabled() && wManager.getWifiState() != WifiManager.WIFI_STATE_ENABLING) { tv01.setText("Wifi狀態:未啟動"); result = false; } else { tv01.setText("Wifi狀態:已啟動"); } /* 確認GPS是否開啟 */
if (!lManager.isProviderEnabled(LocationManager.GPS_PROVIDER) || !lManager .isProviderEnabled(LocationManager.NETWORK_PROVIDER)) { tv02.setText("GPS狀態:未啟動"); result = false; } else { tv02.setText("GPS狀態:已啟動"); } if (result) { mButton03.setEnabled(true); } else { mButton03.setEnabled(false); } }
跳轉至Wifi設置畫面
Intent intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS); startActivityForResult(intent, 0);
跳轉至GPS設置界面
Intent intent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivityForResult(intent, 0);