我在應用程序的調用onStart查詢手機的wifi狀態,但即使連接它返回false,我已經嘗試過很多事情,但沒有奏效wifi的狀態返回假,即使它是連接
這裏就是我做
@Override protected void onStart() {
super.onStart();
onStartStates();
}
onStartStates()方法
private void onStartStates(){
ConnectivityManager cm = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo net = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
Log.d(TAG, "Wifi State 1"+net.isConnected());
Log.d(TAG, "Wifi State 2"+getCurrentSsid(esActivity.this));
}
getCurrentSsid()方法
public static String getCurrentSsid(Context context) {
WifiInfo wifiInfo = getCurrentWifiInfo(context);
if (wifiInfo != null) {
return wifiInfo.getSSID();
}
return null;
}
public static WifiInfo getCurrentWifiInfo(Context context) {
final ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (networkInfo != null && networkInfo.isConnected()) {
final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
return wifiManager.getConnectionInfo();
}
return null;
}
兩個方法返回false,即使我切換WiFi打開剛開始我的應用程序...任何想法
嘗試將您的代碼從onStart()移動到onCreateView()。很多時候,用於檢查狀態和類似情況的metod在早期的活動生命週期中不可用。 – SeahawksRdaBest 2014-11-24 17:07:35
你是否在清單中添加了適當的執行? – KOTIOS 2014-11-24 17:10:04
是的,我有這方面的所有權限 – user3290805 2014-11-24 17:54:46