Я могу определить, подключено ли приложение к Wi-Fi или мобильной сети. Но я не могу зарегистрировать, сколько раз интернет-соединение переключается с Wi-Fi на мобильную сеть или наоборот. Чтобы зарегистрировать изменение сети, мне нужно проверить подключено ли оно к WiFi или мобильному устройству. Как позже мне нужно проверить, подключено ли приложение от WiFi к мобильному телефону или наоборот?
Я хочу подсчитать, сколько раз меняется подключение к Интернету, которое происходит в приложении для Android.
Фрагмент кода, который я написал, выглядит следующим образом: { public void onReceive (конечный контекст контекста, окончательное намерение) {
final ConnectivityManager connMgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi = connMgr .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobile = connMgr .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
SharedPreferences pref =this.getApplicationContext.getSharedPreferences("network_change_count", Context.MODE_PRIVATE);
int count = pref.getInt("networkchange", 0);
pref.edit().putInt("networkchange", ++count).apply();
// return pref.getInt("networkchange", count);
}
} }
Я зарегистрировал приемник в файле манифеста. Но теперь я получаю исключение nullPointerexception, когда пытаюсь вызвать значение общего предпочтения.
SharedPreferences pref = this.getApplicationContext.getSharedPreferences("network_change_count", Context.MODE_PRIVATE); intconnectionchange=pref.getInt("networkchange", 0);
Могу ли я узнать, в чем ошибка, которую я сделал в этом коде?
Пожалуйста, дайте мне предложения :)