Как найти «нет» интернет-данных, пока у пользователя есть доступ к интернету в Android - PullRequest
0 голосов
/ 15 декабря 2018

как узнать, есть ли у пользователя (ANDROID) и интернет-соединение, и интернет-данные.Я знал, что приведенный ниже код будет проверять только интернет-соединение, но в моем случае доступ в интернет есть, но у пользователя закончились интернет-данные ....!

ConnectivityManager conMan = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

как определить, есть ли у пользователя интернетбаланс данных или нет ...?

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

как определить, есть ли у пользователя баланс интернет-данных или нет ...?

Ответ таков: Вы не можете этого сделать!

Интернет-баланс предоставляется через оператора мобильной связи.Это зависит от баланса пользователя, доступных данных пользователя, срока действия баланса и т. Д., Которые являются привилегированной информацией, и, как сторонний разработчик, у вас нет доступа к этой информации.Все, что вы можете проверить, есть ли у пользователя доступ в интернет или нет

0 голосов
/ 15 декабря 2018

Вы можете проверить доступ в Интернет по следующему коду.Он будет пинговать Google и проверять доступ в интернет, если интернет работает, тогда метод вернет true

public boolean isConnectingToInternetAccess(){
        ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
          if (connectivity != null)
          {
              NetworkInfo[] info = connectivity.getAllNetworkInfo();
              if (info != null)
                  for (int i = 0; i < info.length; i++)
                      if (info[i].getState() == NetworkInfo.State.CONNECTED)
                      {
                    	  try {
                    	        Process p1 = java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.com");
                    	        int returnVal = p1.waitFor();
                    	        boolean reachable = (returnVal==0);
                    	        return reachable;
                    	    } catch (Exception e) {
                    	        // TODO Auto-generated catch block
                    	        e.printStackTrace();
                    	    }
                    	  return true;
                      }
          }
          return false;
    }
...