当用户在 android 中访问互联网时如何查找 "no" 互联网数据

How to find "no" internet data while user has internet access in android

如何查找用户(ANDROID)是否同时拥有互联网连接和互联网数据。 我知道下面的代码将单独检查互联网连接,但在我的情况下,互联网访问是存在的,但用户 运行 没有互联网数据....!

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

如何判断用户是否有网络数据余额...?

您可以通过以下代码检查互联网访问情况。它将 ping google 并检查互联网访问,如果互联网正在工作然后方法将 return 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;
    }

how to identify whether the user has internet data balance or not...?

答案是,你不能那样做!

互联网余额是通过使用的移动网络运营商提供的。这取决于用户余额、用户可用数据、余额有效性等信息,这些信息是特权信息,作为第三方开发者,您无权访问这些信息。所有你可以检查用户是否可以访问互联网