Должен ли я использовать ConnectivityManager и WifiManager вместо Read_Phone_State? - PullRequest
1 голос
/ 29 ноября 2011

Хорошо, поэтому везде в Stackoverflow люди говорят, что для проверки доступности сетевого подключения я добавлю Permision READ_PHONE_STATE к манифесту - что для меня довольно некрасиво (хотя многие приложения на рынке имеют такое разрешение, я думаю, что это излишнее, вы получаете IMEI, номер телефона пользователя и т. д.).

Итак, я наткнулся на разрешения ACCESS_NETWORK_STATE и ACCESS_WIFI_STATE, которые должны дать тот же результат. Есть ли причина, по которой их никто не использует?

Потому что, если нет, мне бы не понадобилось разрешение READ_PHONE_STATE, что немного менее страшно (или пользователям вообще все равно?)

Спасибо!

1 Ответ

0 голосов
/ 29 ноября 2011

Я использовал эти разрешения во многих моих приложениях. 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;
}
...