2011-11-29 38 views
1

好吧,在Stackoverflow的人們都說,爲了檢查網絡連接是否可用,我將在清單中添加Permision READ_PHONE_STATE - 這對我來說非常難看(儘管市場上的許多應用程序都有這個許可,這個是我認爲這是一種矯枉過正的行爲;你會得到IMEI,用戶的電話號碼等)。我應該使用ConnectivityManager和WifiManager代替Read_Phone_State嗎?

所以我偶然發現了ACCESS_NETWORK_STATEACCESS_WIFI_STATE的權限,應該給出相同的結果。沒有人會使用它們的原因嗎?

因爲如果不是這樣,我也不會需要READ_PHONE_STATE權限,這是一個有點嚇人少(或DO用戶其實並不關心反正?)

謝謝!

回答

0

我在很多應用程序中都使用了這些權限。一個BroadcastReceiver可以檢查當網絡已經改變了狀態,或者你可以用這樣的檢查連接狀態(source):

public boolean isNetworkAvailable() { 
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo networkInfo = cm.getActiveNetworkInfo(); 
    if (networkInfo != null && networkInfo.isConnected()) { 
     return true; 
    } 
    return false; 
} 
+0

謝謝,這是工作,以及:) – Force