| | |
| | | import android.content.Context; |
| | | import android.content.pm.PackageInfo; |
| | | import android.content.pm.PackageManager; |
| | | import android.net.ConnectivityManager; |
| | | import android.net.NetworkInfo; |
| | | import android.net.wifi.WifiInfo; |
| | | import android.net.wifi.WifiManager; |
| | | |
| | | import com.hdl.photovoltaic.HDLApp; |
| | | |
| | | import java.net.Inet4Address; |
| | | import java.net.InetAddress; |
| | | import java.net.NetworkInterface; |
| | | import java.net.SocketException; |
| | | import java.util.Enumeration; |
| | | import java.util.Iterator; |
| | | import java.util.Stack; |
| | | |
| | |
| | | /** |
| | | * 获取AppVersion |
| | | * |
| | | * @param context |
| | | * @return |
| | | * @param context - |
| | | * @return - |
| | | */ |
| | | public static String getAppVersion(Context context) { |
| | | String version = ""; |
| | |
| | | activityStack.clear(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取ActivitySize |
| | | */ |
| | | public int getActivitySize() { |
| | | return activityStack.size(); |
| | | } |
| | | |
| | | // /** |
| | | // * 判断当前应用是否是debug状态 |
| | | // */ |
| | |
| | | // } |
| | | // } |
| | | |
| | | /** |
| | | * 获得IP地址,分为两种情况: |
| | | * 一:是wifi下; |
| | | * 二:是移动网络下; |
| | | */ |
| | | public String getIPAddress(Context context) { |
| | | NetworkInfo info = ((ConnectivityManager) context |
| | | .getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); |
| | | if (info != null && info.isConnected()) { |
| | | if (info.getType() == ConnectivityManager.TYPE_MOBILE) {//当前使用2G/3G/4G网络 |
| | | try { |
| | | //Enumeration<NetworkInterface> en=NetworkInterface.getNetworkInterfaces(); |
| | | for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) { |
| | | NetworkInterface intf = en.nextElement(); |
| | | for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) { |
| | | InetAddress inetAddress = enumIpAddr.nextElement(); |
| | | if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) { |
| | | return inetAddress.getHostAddress(); |
| | | } |
| | | } |
| | | } |
| | | } catch (SocketException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } else if (info.getType() == ConnectivityManager.TYPE_WIFI) {//当前使用无线网络 |
| | | WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); |
| | | WifiInfo wifiInfo = wifiManager.getConnectionInfo(); |
| | | //调用方法将int转换为地址字符串 |
| | | String ipAddress = intIP2StringIP(wifiInfo.getIpAddress());//得到IPV4地址 |
| | | return ipAddress; |
| | | } |
| | | } else { |
| | | //当前无网络连接,请在设置中打开网络 |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 将得到的int类型的IP转换为String类型 |
| | | * |
| | | * @param ip int类型 |
| | | * @return - |
| | | */ |
| | | public static String intIP2StringIP(int ip) { |
| | | return (ip & 0xFF) + "." + |
| | | ((ip >> 8) & 0xFF) + "." + |
| | | ((ip >> 16) & 0xFF) + "." + |
| | | (ip >> 24 & 0xFF); |
| | | } |
| | | |
| | | |
| | | } |